在React服务器

时间:2016-06-09 14:11:31

标签: javascript node.js tomcat reactjs server

我必须使用名为' react-armor'的JS库。我的网络项目here。因此,按照指示here创建了一个React驱动的服务器。

服务器已启动并正在运行。但是,为了使用react-armor库,代码指定将库导入项目JS:

import { obfuscateClassNames } from 'react-armor';

*与react-armor github

的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?

1 个答案:

答案 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来实际下载它。