这是组件的主要js代码
import './sass/main.scss'
import Vlider from './Vlider.vue'
function install(Vue) {
if (install.installed) return;
install.installed = true;
Vue.component('vlider', Vlider);
}
const plugin = {
install,
};
let GlobalVue = null;
if (typeof window !== 'undefined') {
GlobalVue = window.Vue;
} else if (typeof global !== 'undefined') {
GlobalVue = global.Vue;
}
if (GlobalVue) {
GlobalVue.use(plugin);
}
Vlider.install = install;
export default Vlider
有人可以通过webpack配置帮助我吗?我需要从此index.js输出4个文件
以便它可以支持package.json
"main": "dist/vlider.umd.js",
"module": "dist/vlider.esm.js",
"unpkg": "dist/vlider.min.js",
"browser": "src/vlider.vue"
这是我第一次处理webpack,因此将非常感谢您的帮助
答案 0 :(得分:1)
Webpack不支持esmodule
作为输出目标。您可以创建commonjs
模块或umd/iife
模块。
如果您需要ESModule
作为目标,请考虑使用 Rollup.js 。通常,在需要捆绑库和 Webpack 进行应用捆绑时,应使用 Rollup 。 (注意:汇总很棒,但是TypeScript + .Vue文件+基于类的vue组件语法不起作用。)
此外,无论Webpack还是Rollup,都可以使用基于数组/多目标的导出。请参阅以下链接以获取更多详细信息:
Webpack:https://webpack.js.org/concepts/targets/#multiple-targets