TypeScript项目打包疑问
问题
首先描述一下问题:目前项目使用TypeScript,配置了tsconfig.json. 然后使用webpack + ts-loader来打包.
现在想问一下,tsconfig.json及ts-loader的作用是什么,是否需要加上babel-loader,希望熟悉构建工具的解释一下。
// tsconfig.json
{
"compilerOptions": {
"noImplicitAny": true,
"target": "es5",
"module": "commonjs",
"outDir": "tsdist/",
"sourceMap": true,
"jsx": "react",
"allowJs": true,
"typeRoots": [
"./node_modules/@types"
],
"lib": [
"es6",
"dom",
"scripthost"
]
},
"include": [
"tslib/**/*",
"tssrc/**/*"
]
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
已经打包为es5了就不需要babel-loader了
tsconfig.json
是一个配置文件,用来配置typescript
的编译器如何工作ts-loader
是一个webpack的loader,当webpack遇到.ts文件时会调用它来处理ts-loader
会调用typescript
去编译.ts,typescript
会读取tsconfig.json
配置来决定如何编译以上是大意,不完全准确,不过不要在意细节
最后,如果你不使用Stage 1/2的那些特性的话,应该不需要再加babel-loader了
loader
也就是俗称的装载机,这个在webpack.config.js
中肯定能看到哪里用了ts-loader
,说明这个的作用也就再次,主要是解析ts|tsx(react)的文件tsconfig.json
是告诉你typescript使用怎么样的配置去解析和编译你的文件,也就是你的项目,因为你项目里面肯定打包了typescript
这个包,那个它会自动在根目录下去寻找这个文件,然后按你的配置要求去编译。babel-loader
是在js上用的最多的,他在配置文件中一般的正则都是用来解析.js
文件的,在根据你的.babelrc或者配置文件去解析你的js文件,以此来达到你配置的要求。不知道你能否看懂,其实多看看多谢谢,逛逛这些问答就会懂了。