【发布时间】:2016-11-22 02:35:50
【问题描述】:
刚刚浏览了 Angular2 的 Tour of Heroes 教程并且非常喜欢 NPM 系统,然后我去添加我的第一个包。
我在 package.json 中添加了 "eveonlinejs": "^2.0.0" 并运行了 "npm install"
安装的包和文件夹存在于 node_modules 中。
运行我的服务器会导致结果。
app/eveapi.service.ts(2,29): error TS2307: Cannot find module 'eveonlinejs'.
有问题的行是
import { eveonlinejs } from 'eveonlinejs';
根据我的研究,我认为导入应该命中“node_modules/eveonlinejs”目录中的 package.json 并查看设置的“main”属性。
我已尝试删除清除 NPM 缓存并重新安装 node_modules 文件夹。
我也尝试使用 require 语句指向该目录,但随后我得到了一个缺失的“sax”模块,该模块安装在“eveonlinejs”目录中。
更新:
感谢@nem035,我得到了一些进一步的信息,并停止使用 import 但是发现我在使用 require 时遇到了 404 错误。
通过添加以下代码,我可以更进一步:
systemjs.config.js
'eveonlinejs': 'npm:eveonlinejs/lib/eveonline.js'
这让我又回到了“萨克斯”的错误中。我发现出于某种原因,Sax 已从 eveonlinejs 文件夹移至根 node_modules 文件夹。
'sax': 'npm:sax/lib/sax.js'
这纠正了萨克斯问题,但给了我这一切!
zone.js:1382 GET http://localhost:3000/node_modules/eveonlinejs/lib/client 404 (Not Found)
dashboard:17 Error: (SystemJS) XHR error (404 Not Found) loading http://localhost:3000/node_modules/eveonlinejs/lib/client
zone.js:1382 GET http://localhost:3000/node_modules/eveonlinejs/lib/cache/cache 404 (Not Found)
zone.js:1382 GET http://localhost:3000/node_modules/eveonlinejs/lib/cache/file 404 (Not Found)
zone.js:1382 GET http://localhost:3000/node_modules/eveonlinejs/lib/cache/memory 404 (Not Found)
zone.js:1382 GET http://localhost:3000/stream 404 (Not Found)
zone.js:1382 GET http://localhost:3000/string_decoder 404 (Not Found)
我修复的每个问题都揭示了另一个问题‽ 如果这就是 NodeJS 的样子,那么我就出局了。哈哈!
【问题讨论】:
标签: javascript node.js angular angular2-routing