时间:2021-05-18
前言
最近新开了一个项目,虽然用的是 vue 技术栈,但是为了项目的健壮性,还是强上了 typescript, 于是引出了下面的问题。
问题
之前使用过 ts-loader 打包 react 项目,给我的感觉就是巨慢,开发环境下,每次保存后,需要等10秒钟左右才能构建完成,当时为了解决这个问题,把 ts-loader 替换成了 babel 的 typescript 插件,结果是非常的快,每次保存一秒中之内就能完成构建。这次在 vue 中使用 typescript,开发环境下还算快,但是构建生产包时,进程都能够被卡死,体验非常糟糕,接下来讲解如何替换 typescript 构建工具。
替换 ts-loader
修改 vue webpack 配置之前,我们需要知道 vue 是如何配置 ts-loader的,运行如下代码,输出 webpack 配置文件:
vue inspect > output.js打开 output.js 搜索 ts-loader,可以看到如下配置:
{ test: /\.ts$/, use: [ { loader: 'cache-loader', options: { cacheDirectory: '/Users/edz/Desktop/project/senguo/cashier-admin/node_modules/.cache/ts-loader', cacheIdentifier: 'aee3033a' } }, { loader: 'babel-loader' }, { loader: 'ts-loader', options: { transpileOnly: true, appendTsSuffixTo: [ '\\.vue$' ], happyPackMode: false } } ]},{ test: /\.tsx$/, use: [ { loader: 'cache-loader', options: { cacheDirectory: '/Users/edz/Desktop/project/senguo/cashier-admin/node_modules/.cache/ts-loader', cacheIdentifier: 'aee3033a' } }, { loader: 'babel-loader' }, { loader: 'ts-loader', options: { transpileOnly: true, happyPackMode: false, appendTsxSuffixTo: [ '\\.vue$' ] } } ]}可以看到使用到了 ts-loader, 同时还使用到了 babel, 这倒是为我们后期的配置提供了不少方便。
首先删除 ts-loader 的配置,因为 vue webpack 的配置使用的是 webpack-chain,所以这里也需要用到这个工具才能进行修改,代码如下:
// vue.config.jsmodule.exports = { chainWebpack: config => { config.module.rule('ts').uses.delete('ts-loader') config.module.rule('tsx').uses.delete('ts-loader') }}接着安装 babel 的 typescript 插件
yarn add @babel/preset-typescript @babel/plugin-transform-typescript然后修改 babel.config.js 如下:
module.exports = { presets: [ '@vue/app', "@babel/preset-typescript" ], plugins: [ "@babel/plugin-transform-typescript" ]}如果你在代码中使用到了 jsx, 那么可能还需要添加如下配置项,反正我是遇到了解析 jsx 出错的问题。
module.exports = { presets: [ '@vue/app', ["@babel/preset-typescript", { "allExtensions": true, "isTSX": true }], ], plugins: [ "@babel/plugin-transform-typescript" ]}最后再打包,嗯~ 比之前快多了!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
使用最新的VueCLI@vue/cli创建typescript项目,使用vue-V查看当前的vuecli版本安装命令npminstall-g@vue-cli创建
在使用vue-cli创建vue项目时,可以自动生成webpack文件。使用npmrunbuild即可打包发布生产文件,打包后的文件webpack配置可以看到使用
本文介绍了vue-cli项目打包完成后运行文件路径报错问题,做个笔记,也分享给大家。刚新建的vue-cli项目,同事说要打包一版进行测试,打包完成后放在tomc
1.vue中的vue-cli打包最近在用vue写一个小项目,其中就用到了vue脚手架工具vue-cli,在测试打包后能否运行过程中遇到不少问题,而且在网上这些问
vue-cli@2.x项目迁移日志虽然vue-cli@3早就已经巨普及了,新项目应该已经很少有人还有使用vue-cli@2.x。但是对于一些稍微早些时候的vue