如何使用项目根目录中的文件路径在 NodeJS 中导入 JavaScript 文件?(而不是相对文件路径)
\n换句话说,我的团队正在尝试从语法样式 A过渡到语法样式 B(如下所示):
\n语法风格A
\nconst source = require(\'../../../../../../source.js\');\nRun Code Online (Sandbox Code Playgroud)\n语法风格 B
\nconst source = require(\'src/source.js\'); // "src" is a direct subfolder of the project root\nRun Code Online (Sandbox Code Playgroud)\n我已经审阅了很多关于这个主题的帖子,但没有一个能够满足我的项目的要求......
\n以下是我的设置。Package.json是由WebStorm生成的,我没有更改它。
\n …每当我在多个 TypeScript 文件中导入相同的 npm 模块时,error TS2451: Cannot redeclare block-scoped variable \'os\'一旦运行 TypeScript 编译器,我就会收到错误“” tsc。我的项目设置如下所示。
我正在使用 NodeJS v18.15.0。
\n目录结构
\nProject_Root\n\xe2\x94\x9c\xe2\x94\x80 main.ts\n\xe2\x94\x9c\xe2\x94\x80 worker.ts\n\xe2\x94\x9c\xe2\x94\x80 package.json\n\xe2\x94\x94\xe2\x94\x80 tsconfig.json\nRun Code Online (Sandbox Code Playgroud)\n主要.ts
\nconst worker = require(\'./worker\');\nconst os = require(\'os\');\n\nconsole.log(\'name = \' + worker.getName() );\nconsole.log(\'memory = \' + os.freemem() );\nRun Code Online (Sandbox Code Playgroud)\n工人.ts
\nconst os = require(\'os\');\n\nmodule.exports =\n class worker {\n static getName() : string { return "worker-" + os.freemem(); }\n }\nRun Code Online (Sandbox Code Playgroud)\n包.json
\nProject_Root\n\xe2\x94\x9c\xe2\x94\x80 …Run Code Online (Sandbox Code Playgroud)