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