我必须使用名为' react-armor'的JS库。我的网络项目here。因此,按照指示here创建了一个React驱动的服务器。
服务器已启动并正在运行。但是,为了使用react-armor库,代码指定将库导入项目JS:
import { obfuscateClassNames } from 'react-armor';
的readme.md教程一样
但是,我如何使用包react-armor(readme.md中给出的示例)到我的反应服务器中?我的意思是,如何将github repo集成到我的服务器?只使用import something from 'react-armor'
,那么 react-armor 应该存在于何处?
更新1:
在服务器package.json文件中添加了react-armor依赖。
但是, sudo npm install --save react-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! <npm-@googlegroups.com>
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"
}
}
更新1:
这似乎是一些依赖错误。但是,是否可以在Tomcat而不是NodeJS上运行this?尽管React是客户端呈现的JS lib,但为什么每个人都建议使用NodeJS代替Tomcat而不是Tomcat?
答案 0 :(得分:1)
如果是NPM包,则运行npm install --save react-armor
(--save
如果要将其添加到羽绒包的依赖项中)。它将下载并将其保存到./node_modules
文件夹中。节点将自动查看该路径(除了其他预设位置)以查找该模块。
如果它不是在NPM上托管的,你可以通过将它添加到你的package.json文件中从GitHub中提取它。
"dependencies": {
"react-armor": "elierotenberg/react-armor"
}
网址为user / repo。你仍然需要运行npm install
来实际下载它。