Jos*_*hua 6 typescript webpack
我正在使用 TypeScript 编写 NPM 包,但找不到在 TypeScript 声明中转换 Webpack 别名的方法。
webpack.config.js
{
// ...more Webpack configurations
resolve: {
extensions: [".ts", ".js"],
alias: {
"@": resolvePath("src")
}
}
Run Code Online (Sandbox Code Playgroud)
配置文件
{
"compilerOptions": {
// More options
"paths": {
"@/*": ["src/*"]
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用babel-loaderwith@babel/preset-typescript但它不输出声明文件。
tsc --emitDeclarationOnly发出声明文件,但不会替换@/为正确的路径。对于ts-loader.
我可以在 Jest 中使用moduleNameMapper. 如果我可以让它工作构建声明文件,我就不再需要编写类似../../../../model.
我在网上找到的大多数答案都是关于编译 JavaScript 文件的,我对此没有问题。任何帮助将不胜感激。
我终于找到解决办法了。你需要ttypescript和typescript-transform-paths。您将以下内容添加compilerOptions到tsconfig.json
"plugins": [
{ "transform": "typescript-transform-paths", "afterDeclarations": true }
]
Run Code Online (Sandbox Code Playgroud)
并运行
ttsc --emitDeclarationOnly
Run Code Online (Sandbox Code Playgroud)
我就此写了一篇文章。
| 归档时间: |
|
| 查看次数: |
1632 次 |
| 最近记录: |