2016-06-09 5 views
0

Для моего веб-проекта я должен использовать библиотеку JS под названием «реактивная броня» here. Таким образом, был создан сервер с реактивным питанием согласно инструкциям here.Использование внешней библиотеки JS в сервере React

Сервер запущен. Но для того, чтобы использовать библиотеку среагировать-броню, код указывает импортировать библиотеку в проект JS:

import { obfuscateClassNames } from 'react-armor'; 

* как в readme.md учебник react-armor github

Но, как я мог используйте пакет react-armor (примеры, приведенные на readme.md), в мой реактивный сервер? Я имею в виду, как интегрировать репозиторий github на мой сервер? Просто используя import something from 'react-armor', так где должно быть реактивная доспеха?

Update 1:

Добавлено реагировать-броней зависимость в сервер package.json файл.

Но, sudo npm install --save response-armor дает мне ошибки.

npm http GET https://registry.npmjs.org/react-armor 
npm http 404 https://registry.npmjs.org/react-armor 
npm ERR! TypeError: Cannot read property 'latest' of undefined 
npm ERR!  at next (/usr/share/npm/lib/cache.js:687:35) 
npm ERR!  at /usr/share/npm/lib/cache.js:675:5 
npm ERR!  at saved (/usr/share/npm/node_modules/npm-registry-client/lib/get.js:142:7) 
npm ERR!  at /usr/lib/nodejs/graceful-fs/polyfills.js:133:7 
npm ERR!  at Object.oncomplete (fs.js:107:15) 
npm ERR! If you need help, you may report this log at: 
npm ERR!  <http://github.com/isaacs/npm/issues> 
npm ERR! or email it to: 
npm ERR!  <[email protected]> 

npm ERR! System Linux 3.13.0-87-generic 
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "react-armor" 
npm ERR! cwd /home/local/unixroot 
npm ERR! node -v v0.10.25 
npm ERR! npm -v 1.3.10 
npm ERR! type non_object_property_load 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /home/local/unixroot/npm-debug.log 
npm ERR! not ok code 0 

Даже после добавления зависимостей в файле package.json импорт не работает.

Это мой package.json в моей реакции папку сервера:

{ 
     "name": "react-tutorial", 
     "version": "0.0.0", 
     "private": true, 
     "license": "see LICENSE file", 
     "description": "Code from the React tutorial.", 
     "main": "server.js", 
     "dependencies": { 
     "react-armor": "elierotenberg/react-armor", 
     "body-parser": "^1.4.3", 
     "express": "^4.4.5" 
     }, 
    "devDependencies": {}, 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1", 
    "start": "node server.js" 
    }, 
    "repository": { 
    "type": "git", 
    "url": "https://github.com/reactjs/react-tutorial.git" 
    }, 
    "keywords": [ 
    "react", 
    "tutorial", 
    "comment", 
    "example" 
    ], 
    "author": "petehunt", 
    "bugs": { 
    "url": "https://github.com/reactjs/react-tutorial/issues" 
    }, 
    "homepage": "https://github.com/reactjs/react-tutorial", 
    "engines" : { 
    "node" : "0.12.x" 
    } 
} 

Update 1:

Похоже, что некоторые ошибки зависимостей здесь. Но можно ли запустить this на Tomcat вместо NodeJS? Почему все рекомендуют использовать NodeJS для ReactApp вместо Tomcat, несмотря на то, что React является клиентской стороной, получившей JS lib?

ответ

1

Если это пакет NPM, вы можете запустить npm install --save react-armor (--save, если вы хотите добавить его в зависимости от вашего пакета). Он загрузит его и сохранит в папку ./node_modules. Узел автоматически будет искать этот путь (в дополнение к другим предустановленным местоположениям), чтобы найти этот модуль.

Если он не размещен на NPM, вы можете вытащить его из GitHub, добавив его в файл package.json.

"dependencies": { 
    "react-armor": "elierotenberg/react-armor" 
} 

Где URL-адрес пользователя/репо. Вам все равно нужно запустить npm install, чтобы загрузить его.

+0

Пожалуйста, проверьте обновленное сообщение. –

+0

Я предполагаю, что они не поставили его на NPM. Я просто сделал быстрый поиск и не смог его найти. Странный. Попробуйте добавить его через ссылку GitHub (вторая часть моего сообщения). –

+0

Да, я добавил то же самое в package.json, но импорт не происходит. Будет ли он загружен в серверную библиотеку? –