ts-loader
使用 ts-loader 编译 ts ,优点是能提前暴露出如参数类型不匹配的错误,缺点是不能转换 promise 等 es6+ 语法。
babel-loader
安装 @babel/preset-typescript 预设,使得 babel-loader 可以编译 ts,promise 等语法也能转换,缺点是参数类型不匹配等错误在编译时会直接通过。
// babel.config.jsmodule.exports = {presets: [['@babel/preset-env', {useBuiltIns: 'usage',corejs: 3}],['@babel/preset-typescript']]}
打包前校验
使用 tsc 命令在 babel-loader 对 ts 进行编译前先校验,就可以同时实现暴露错误和兼容性。noEmit 参数表示只校验,不输出文件。
yarn tsc --noEmit && yarn webpack
"scripts": {"test": "echo \"Error: no test specified\" && exit 1","build": "npm run ck && webpack","serve": "webpack serve","ck": "tsc --noEmit"},
