从GitHub下载模块并按照说明进行构建后,我尝试使用以下方法将其拉入现有项目:

> npm install ../faye

这似乎起到了作用:

> npm list
/home/dave/src/server
└─┬ faye@0.7.1
  ├── cookiejar@1.3.0
  ├── hiredis@0.1.13
  └── redis@0.7.1

但是Node.js找不到模块:

> node app.js
node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Cannot find module 'faye'
    at Function._resolveFilename (module.js:334:11)
    at Function._load (module.js:279:25)
    at Module.require (module.js:357:17)
    at require (module.js:368:17)
    at Object.<anonymous> (/home/dave/src/server/app.js:2:12)
    at Module._compile (module.js:432:26)
    at Object..js (module.js:450:10)
    at Module.load (module.js:351:31)
    at Function._load (module.js:310:12)
    at Array.0 (module.js:470:10)

我真的很想了解这里发生了什么,但我有点不知所措,不知道下一步该去哪里。有什么建议吗?


当前回答

对于TypeScript用户,如果您正在导入内置节点模块(如http、路径或url),并且遇到错误,如“找不到模块”x,则可以通过运行

npm install @types/node --save-dev

该命令将NodeJS TypeScript定义导入到项目中,允许您使用Node的内置模块。

其他回答

从项目中删除node_module根文件夹(例如:myApp)。转到myApp文件夹,然后从终端键入以下命令

>myApp>npm install

它将安装项目所需的所有依赖模块。

最终对我有用的是确保在webpack配置中包含任何合并深度依赖项作为外部项:

externals: {
    puppeteer: 'require("puppeteer")',
}

并将package.json中的node_modules路径声明为“extraResource”。

"extraResources": [
    "node_modules/puppeteer,
}

如果所有其他方法都不适合你。。。尝试

npm link package_name

e.g

npm link webpack
npm link autoprefixer

e.t.c公司

更改目录并指向当前项目文件夹,然后单击“npm install”。.

这将将所有依赖项和模块安装到项目文件夹中。

在我的情况下,

npm install -D tslib @types/node

解决了我的问题,我就可以跑了

ts-node index.ts

成功地