首页 > 解决方案 > 打字稿nodejs错误:找不到模块'./package.json'

问题描述

我正在使用 nodejs 10.1.0

ubuntu@ip-10-0-0-196:~/code/makeIt/chrome-render$ node -v
v10.1.0

我正在使用 typescript2.8.3

ubuntu@ip-10-0-0-196:~/code/makeIt/chrome-render$ tsc -v
Version 2.8.3

我已经为 nodejs 开发设置了一个目录,如下所示:

ubuntu@ip-10-0-0-196:~/code/makeIt/chrome-render$ find
.
./tsconfig.json
./node_modules
. lotsof files in node_modules
. lotsof files in node_modules
. lotsof files in node_modules
./yarn.lock
./src
./src/makeIt.ts
./src/server.ts
./dist
./dist/src
./dist/src/server.js
./dist/src/makeIt.js
./dist/src/server.js.map
./package.json
./dist/src/makeIt.js.map
ubuntu@ip-10-0-0-196:~/code/makeIt/chrome-render$

我用 tsc 编译代码 OK - 没有错误。

当我运行我的代码时,我得到一个错误。

ubuntu@ip-10-0-0-196:~/code/makeIt/chrome-render$ node dist/src/server.js
internal/modules/cjs/loader.js:573
    throw err;
    ^

Error: Cannot find module './package.json'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:571:15)
    at Function.Module._load (internal/modules/cjs/loader.js:497:25)
    at Module.require (internal/modules/cjs/loader.js:626:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at Object.<anonymous> (/home/ubuntu/code/makeIt/chrome-render/dist/src/server.js:39:20)
    at Module._compile (internal/modules/cjs/loader.js:678:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:689:10)
    at Module.load (internal/modules/cjs/loader.js:589:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:528:12)
    at Function.Module._load (internal/modules/cjs/loader.js:520:3)
ubuntu@ip-10-0-0-196:~/code/makeIt/chrome-render$

将 package.json 移入 dist/src/ 时没有问题

节点 dist/src/server.js

ubuntu@ip-10-0-0-196:~/code/makeIt/chrome-render$ find
.
./tsconfig.json
./node_modules
. lotsof files in node_modules
. lotsof files in node_modules
. lotsof files in node_modules
./yarn.lock
./src
./src/makeIt.ts
./src/server.ts
./dist
./dist/src
./dist/src/server.js
./dist/src/makeIt.js
./dist/src/server.js.map
./dist/src/package.json
./dist/src/makeIt.js.map
ubuntu@ip-10-0-0-196:~/code/makeIt/chrome-render$

移动 package.json 似乎不是正确的解决方案 - 我认为我需要它位于我的项目根目录中。

谁能建议我应该怎么做才能避免这个错误?

我是否配置了我的 nodejs/typescript 项目错误?

标签: node.jstypescript

解决方案


归功于@hashtabe_0

我的 server.js 文件包含

const package_json = require('./package.json');

删除它解决了问题。


推荐阅读