如何在打字稿中进行模块解析以输出节点?
How to do module resolution in typescript to output for node?
tsconfig.json
{
"compilerOptions": {
"baseUrl": "./",
"allowJs": false,
"strict": true,
"target": "es6",
"module": "commonjs",
"lib": ["dom", "es6", "es5", "es2017", "esnext.asynciterable"],
"sourceMap": true,
"moduleResolution": "node",
"paths": {
"src/*": ["src/*"]
},
"declaration": true,
"rootDir": "./src",
"outDir": "dist"
},
"exclude": ["dist"],
"include": [ "src"]
}
原始文件夹结构
src /
util/
getSomething.ts
index.ts
输出文件夹结构
dist /
util/
getSomething.js
index.js
index.ts
import getSomething from 'src/util/getSomething';
package.json 脚本
{
"build": "tsc && tspath -f",
"start": "node dist/index.js"
}
构建工作正常,但是当我 运行 启动时出现错误。
有没有办法获得基于根的模块解析?
我按照这个例子(只是用 src 替换 ~),它给了我这个问题。
除非有 tspath 的替代解决方案。
https://haseebmajid.dev/blog/better-imports-with-babel-tspath
注:我用的是windows10.
npm start
Error: Cannot find module './src\util\getSomething'
Require stack:
c:\apps\example-typescript-node\dist\index.js
在这里回答:
https://github.com/duffman/tspath/issues/33
我已经解决了我的问题。我必须确保我的 rootDir 是 ./ 而不是 src。
然后在 dist/src/ 而不是 dist/
内定位 index.js
tsconfig.json
{
"compilerOptions": {
"rootDir": "./"
}
}
package.json
{
"build": "tsc && tspath -f",
"start": "node dist/src/index.js"
}
tsconfig.json
{
"compilerOptions": {
"baseUrl": "./",
"allowJs": false,
"strict": true,
"target": "es6",
"module": "commonjs",
"lib": ["dom", "es6", "es5", "es2017", "esnext.asynciterable"],
"sourceMap": true,
"moduleResolution": "node",
"paths": {
"src/*": ["src/*"]
},
"declaration": true,
"rootDir": "./src",
"outDir": "dist"
},
"exclude": ["dist"],
"include": [ "src"]
}
原始文件夹结构
src /
util/
getSomething.ts
index.ts
输出文件夹结构
dist /
util/
getSomething.js
index.js
index.ts
import getSomething from 'src/util/getSomething';
package.json 脚本
{
"build": "tsc && tspath -f",
"start": "node dist/index.js"
}
构建工作正常,但是当我 运行 启动时出现错误。 有没有办法获得基于根的模块解析? 我按照这个例子(只是用 src 替换 ~),它给了我这个问题。 除非有 tspath 的替代解决方案。 https://haseebmajid.dev/blog/better-imports-with-babel-tspath
注:我用的是windows10.
npm start
Error: Cannot find module './src\util\getSomething' Require stack: c:\apps\example-typescript-node\dist\index.js
在这里回答: https://github.com/duffman/tspath/issues/33
我已经解决了我的问题。我必须确保我的 rootDir 是 ./ 而不是 src。 然后在 dist/src/ 而不是 dist/
内定位 index.jstsconfig.json
{
"compilerOptions": {
"rootDir": "./"
}
}
package.json
{
"build": "tsc && tspath -f",
"start": "node dist/src/index.js"
}