vue.js - 捆绑一个没有 Vuetify 的 Vue-cli 项目
问题描述
我尝试创建一些 Vue 库供我们公司内部使用。
由于我们所有的项目都使用 Vuetify,并且我们的库也公开了一些使用它的组件,我不想将 Vuetify 捆绑在库中,而是使用与“最终”项目一起安装的那个。
我查看了 Webpack 和 Vue-cli 文档,并externals
在 webpack 中找到了配置键。但是这个vue.config.js
文件:
module.exports = {
configureWebpack: {
externals: {
vuetify: "commonjs2 vuetify",
},
},
chainWebpack: config => {
// These are some necessary steps changing the default webpack config of the Vue CLI
// that need to be changed in order for Typescript based components to generate their
// declaration (.d.ts) files.
//
// Discussed here https://github.com/vuejs/vue-cli/issues/1081
if (process.env.NODE_ENV === "production") {
config.module.rule("ts").uses.delete("cache-loader");
config.module
.rule("ts")
.use("ts-loader")
.loader("ts-loader")
.tap(opts => {
opts.onlyCompileBundledFiles = true;
opts.transpileOnly = false;
opts.happyPackMode = false;
return opts;
});
}
},
parallel: false,
};
似乎不起作用,因为 Vuetify 仍在捆绑包中(因此,输出的权重很大)。
由于我不想多次加载 Vuetify ......我怎样才能做到这一点?
解决方案
推荐阅读
- java - eclipse weblogic插件jdk版本合规错误如何解决
- sql - 这个sql查询可以针对oracle数据库优化吗?
- c++ - 为什么这个 Qt 示例使用地址而不是对象和函数本身?并且没有 SLOT/SIGNAL 关键字?
- join - 如何检查表的索引?
- laravel - 路由不支持get方法,支持post方法
- c# - 如何在同一行显示结果
- python - 如何从屏幕pygame中完全删除精灵
- javascript - 为什么你会在进化/路径上使用 Ramda 的镜头?
- flutter - 如何创建 Flutter 最小化的应用控件
- php - Laravel 5.7 无法加载 `storage/framework/cache/data` 并写入 `./storage/logs/laravel-2019-06-11.log`