通过使用Webpack配置vue,我成功地做到了这一点。
首先,我在html文件中包含了CDN for Vue。
index.html
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.12"></script>然后我修改了webpack的配置
vue.config.js
module.exports = {
configureWebpack: {
// ...
externals: {
vue: 'Vue',
}
// ...
},
}一切都完美无缺。
但是当我尝试使用vue-class-component和vue-property-decorator时,它并没有像预期的那样起作用
index.html
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.12"></script>
<script src="https://cdn.jsdelivr.net/npm/vue-class-component@7.2.5"></script>
<script src="https://cdn.jsdelivr.net/npm/vue-property-decorator@9.0.0"></script>vue.config.js
module.exports = {
configureWebpack: {
// ...
externals: {
vue: 'Vue',
'vue-class-component': 'VueClassComponent',
'vue-property-decorator': 'VuePropertyDecorator',
}
// ...
},
}我注意到这些文件的名称不同,以.common.js和.umd.js结尾
vue-class-component.common.js
vue-property-decorator.umd.js然后我试着
vue.config.js
module.exports = {
configureWebpack: {
// ...
externals: {
vue: 'Vue',
'vue-class-component': 'commonjs2 vue-class-component',
'vue-property-decorator': 'umd vue-property-decorator',
}
// ...
},
}但是它也不起作用。
下面是我如何在我的src/中导入这些内容。脚本是用打字本写的。
import Vue from 'vue'
// ...
import { Component } from 'vue-property-decorator'有人知道如何处理webpack的externals与.common.js和.umd.js?非常感谢!
发布于 2020-09-19 11:12:08
我认为问题不一定在Webpack的配置中.
如果我尝试加载https://cdn.jsdelivr.net/npm/vue-class-component@7.2.5,它会给我Original file: /npm/vue-class-component@7.2.5/dist/vue-class-component.common.js,即CommonJS构建浏览器不会处理这个问题。尝试使用链接到像https://cdn.jsdelivr.net/npm/vue-class-component@7.2.6/dist/vue-class-component.min.js这样的“浏览器兼容”构建
vue-property-decorator应该很好,因为UMD模块应该在浏览器中工作.
顺便问一下,这一切有什么意义?为什么不让Webpack去做呢?它总是最好下载一个大的JS文件然后多个更小的..。
https://stackoverflow.com/questions/63967758
复制相似问题