javascript - Vue.js 模块构建
问题描述
我们有大约 100 页的项目。我们正在将前端迁移到一些新兴技术。我们几乎已经完成了 Vue.js(使用 vue cli)。Vue CLI 在一个 build.js 中构建项目。我们有一个问题。我们有频繁的需求变化。因此,在每次小的更改之后,我们都必须上传整个构建 js,这需要对整个项目进行回归测试。有什么方法可以构建模块吗?因此,只有更改后的模块需要在更改后实时上传。
解决方案
使用 Vue 路由器:
以下方法将告诉编译器(Webpack)“返回”组件而不是“包含”它。导致给定组件被“分块”到自己的文件中以进行延迟加载。
例如
export default new Router({
routes: [
// Home component to be included in bundle.js
{
path: '/',
name: 'home',
component: Home
},
// code splitting - generate a separate unique chuck for about component.
{
path: '/about',
name: 'about',
component: () => import(/* webpackMode: "lazy" */ '@/views/About.vue')
}
]
})
输出= bundle.js 和 about.js 或... 100 个其他文件,假设您每页都有一个组件。
使用 webpack:
您可以通过将 vue.config.js 文件添加到项目根目录来扩展和/或修改默认编译器 (webpack) 配置。
例如
// vue.config.js
module.exports = {
configureWebpack: config => {
if (process.env.NODE_ENV === 'production') {
// mutate config for production...
} else {
// mutate for development...
}
}
}
请务必阅读https://cli.vuejs.org/guide/webpack.html上的所有文档,因为某些设置不应直接更改。
- 有关 webpack 代码拆分的更多信息:https ://webpack.js.org/guides/code-splitting
推荐阅读
- python - cx_Oracle.DatabaseError:ORA-00932:不一致的数据类型:预期的 CHAR 得到了 NUMBER
- visual-studio - Visual Studio 中的 ESQL/C Informix 语法高亮显示
- r - 使用 data.table 将模拟结果存储在循环中
- excel-formula - 随机抽奖系统
- python - 列表中两个元素之间每个元素的时间增量
- c++ - 如何在 CPP 中命名选项卡/列?
- python-3.x - AttributeError:“屏幕”对象在 Python KivyMD 中没有属性“文本”
- generics - 在 .NET Core 中的特定通用服务上定义注入服务
- oracle - 我可以在 Oracle 中删除整个表而不撤消吗?
- c# - 为什么 blazor 会渲染两次?