You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
By clicking “Sign up for GitHub”, you agree to our
terms of service
and
privacy statement
. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
tsconfig.json 是ts的声明文件。其中path配置也是声明路径用的。
例如webpack gulp 都不会去读取 tsconfig.json 的相关配置修改原有代码逻辑。
假设tsconfig.json的path 被用于打包,项目中如果想只是声明路径就有问题了
可能问题点:
1、假设有一个 config.json 的配置文件,它是主项目的全局文件,然后区块包也要引用这个config。
开发过程: 区块内添加config.json文件,
生产环境 :主项目的config.json
2、区块代码中引用 import config from config.json
本地启动服务:
webpack: alias 修改别名 "config.json" : "src/@/config.json" 引用文件路径( 用于代码获取 )
tsconfig.json path 声明文件路径 "config.json" : "src/@/config.json" 声明文件路径( 用于vscode等工具路径跳转 )
father-build: import config from config.json 不变,方便主项目捕获
主项目中:
webpack: alias 遇到的 import config from config.json 通用使用"config.json" : "src/global/config.json"
如果按现在的 father-build 模式,就破坏了tsconfig.json 的声明功能。
disableTypeCheck: true,
cjs: { type: 'babel', lazy: true },
// extraBabelPresets: [...babelConfig.presets],
extraBabelPlugins: [
'babel-plugin-module-resolver',
root: ['./'],
extensions: ['.d.ts', '.ts'],
alias: {
Design: './src',
Board: './src',
Core: './src',
'alias',
直接通过 extraBabelPlugins 设置 文件 路径,感觉更合理点吧
@jefferyssy
babel不行的,这个babel-plugin-module-resolver无法对生成的d.ts文件里的alias进行转换,这个插件我也是试过了才发现不行的,js文件确实转换了,但是d.ts还是alias路径,因为father-build底层使用的gulp-typescript对ts文件进行转换的。
所以 babel 模式下, d.ts 里面的 alias 如何处理呢?