vue.js - 如何仅部署 Vue 应用程序的一部分而不是完整的 Vue 应用程序?
问题描述
在我的项目中,我想部署我选择的单个视图以排除其他视图,以获得尽可能轻的生产构建。生产版本将包括视图运行所需的所有内容,我只需要以某种方式排除所有其他视图(可能还有视图不需要的某些文件)。
可以将 Webpack 配置为实现这样的目标吗?如果是这样,怎么做?
解决方案
我不知道您是否可以直接在 Webpack 中执行此操作,但如果您的目标是简单地在您的应用程序中使其他路由无法访问,在您的 Vue Router 配置中,您可以使用process.env.NODE_ENV === 'production'
来确定您的环境,然后有条件地加载模块和路由。这应该会从您的构建中摇动未使用的组件。
const getRoutes = async () => {
let routes = []
if (process.env.NODE_ENV !== 'production') {
const Foo = await import('./component/Foo.vue')
routes.push({ path: '/foo', component: Foo })
}
routes.push({ path: '/bar', component: Bar })
return routes
}
(async () => {
const routes = await getRoutes()
return new VueRouter({routes})
})()
推荐阅读
- git - git pull -r 从新存储库中删除本地文件
- spring-integration-dsl - Spring Integration DSL: lambda 返回消息
在句柄方法中,例如使用 DelegatingSessionFactory? - excel - 抓取内容时无法摆脱弹出的空白屏幕
- c++ - 编译前确定数组长度
- flask - Flask CORS 问题 - OPTION 请求未通过
- flutter - 颤振无线电值不变
- c# - 如何更改 button.text 而不点击它?
- android - 如何从联系人列表中获取特定选定联系人的所有数据
- c - 为什么 Linux VmSize VmData 大于代码的估计值?
- swift - Swift 中方法和属性的命名约定。我可以使用“get”、“set”和“is”关键字吗?