【发布时间】:2018-05-16 01:32:07
【问题描述】:
我的 package.json 中有两个具有本地路径的包:
"graphql-subscriptions": "../graphql-subscriptions",
"subscriptions-transport-ws": "../subscriptions-transport-ws"
在npm install 之后,它们会正确安装在node_modules 下。但是,当我运行我的 node.js 应用程序时,它给了我以下运行时错误:
module.js:529
throw err;
^
Error: Cannot find module 'subscriptions-transport-ws'
at Function.Module._resolveFilename (module.js:527:15)
at Function.Module._load (module.js:476:23)
at Module.require (module.js:568:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/Users/nbhati/projects/graphql-bookstore-server/src/app.factory.js:6:1)
at Module._compile (module.js:624:30)
at loader (/Users/nbhati/projects/graphql-bookstore-server/node_modules/babel-register/lib/node.js:144:5)
at Object.require.extensions.(anonymous function) [as .js] (/Users/nbhati/projects/graphql-bookstore-server/node_modules/babel-register/lib/node.js:154:7)
at Module.load (module.js:545:32)
at tryModuleLoad (module.js:508:12)
我错过了什么?
【问题讨论】:
-
确保您需要一个文件,或者模块中有
index.js。 -
node_modules文件夹是否与您的应用在同一目录中(或在祖先目录中)? -
谢谢你们。是的,我正在导入包,是的,node_modules 文件夹仅比我的应用程序的 index.js 高一级。我将这两个包放在本地路径中只是因为我将一些 console.log 放在那里进行调试。否则,如果我直接从 npm 获取它们,它们就可以很好地使用我的代码!
-
谜团解开了。这些包是用 TypeScript 编写的。我必须编译它们才能被导入。
标签: node.js npm npm-install package.json