Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 来自'的模块分辨率;地区';文件夹_Node.js_Typescript - Fatal编程技术网

Node.js 来自'的模块分辨率;地区';文件夹

Node.js 来自'的模块分辨率;地区';文件夹,node.js,typescript,Node.js,Typescript,我正在开发一个nodeJs/Typescript应用程序,我希望能够从dist/文件夹启动它 每个src和dist文件夹的结构如下所示: server/ |---dist/ | |---server/ | |---src/ | |---index.js | |---utils/ | |---connection.js |---src/ | |---index.ts | |---utils/ |

我正在开发一个nodeJs/Typescript应用程序,我希望能够从dist/文件夹启动它

每个src和dist文件夹的结构如下所示:

server/
|---dist/
|   |---server/
|       |---src/
|           |---index.js
|           |---utils/
|               |---connection.js
|---src/
|   |---index.ts
|   |---utils/
|       |---connection.ts
|
|---package.json
|---tsconfig.json
dist
文件夹是生成的代码,使用我的tsconfig.json文件中的
outDir
配置此路径

我还将my package.json中的主属性配置为
dist/server/src/index.js
,将type属性配置为
module

在这个项目中,我使用的是
typescript4.0.5

我已在tsconfig.json中指定路径属性为
“utils/*”:[“src/utils/*”]
,baseUrl属性为“./”,属性
moduleResolution
策略为
节点

现在这是我的问题。我希望能够以与在源代码中相同的方式导入模块,但这次直接从
dist
文件夹导入模块,如下所示:

import createConnection from 'utils/connexion';
但是,当我将导入声明悬停在VScode中时,它似乎无法解析模块,我得到一个错误
错误[ERR_module_not_FOUND]:找不到从/home/maxime/Dev/JeuxDuPlacard/packages/server/dist/server/src/index.js导入的包'utils'
当我从我的Typescript文件执行相同的操作时,它会按预期工作

dist文件夹中的文件路径与服务器文件夹中的文件路径相同。如果问题来自模块解决方案,是否有办法在dist文件夹中保留路径别名(无需安装第三方库)


谢谢

没错,因为您不能从workdir外部导入文件。您可以做的是,您可以像访问任何其他npm包一样链接本地模块并访问它

npm link (in package dir)
npm link [<@scope>/]<pkg>[@<version>]
alias: npm ln
npm链接(在包目录中)
npm链接[/][@]
别名:npm ln

npm link (in package dir)
npm link [<@scope>/]<pkg>[@<version>]
alias: npm ln