node.js - 打字稿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 项目错误?
解决方案
归功于@hashtabe_0
我的 server.js 文件包含
const package_json = require('./package.json');
删除它解决了问题。