.vue 组件打包成 .js
创始人
2024-06-01 19:45:34

.vue 组件打包成 .js

*** 所有的内容 cli 官网都有 ***
*** https://cli.vuejs.org/zh/guide/build-targets.html ***

所有的内容 cli 官网都有:
https://cli.vuejs.org/zh/guide/build-targets.html

  1. 准备 几个 .vue 组件文件
import Main from './components/Main.vue'
import Home from './views/Home.vue'
import About from './views/About.vue'
import _Vue from 'vue'[Main,Home,About].map(item=>{item.install = Vue => {if (!Vue) {window.Vue = Vue = _Vue}Vue.component(item.name, item)}
})
export {Main,Home,About
}
  1. vue.config.js 中新增: css: { extract: false }
    提取出来的 CSS 文件 (可以通过在 vue.config.js 中设置 css: { extract: false } 强制内联)
  2. package.json 中新增 命令
"lib": "vue-cli-service build --target lib --inline-vue --name myLib src/index.js"
  1. npm run lib 打包后dist里面有demo ,可用于参考
  2. 使用 index.html 入口文件中 引入 myLib.umd.min.js
  3. 组件中
    在这里插入图片描述
  4. 如果 vue.config.js 中新增了属性
  configureWebpack: config => {return {output: {libraryExport: 'default' // 默认为 undefined,将会导出整个(命名空间)对象},}},

那么 index.js 文件就要改写为:

import Main from './components/Main.vue'
import Home from './views/Home.vue'
import About from './views/About.vue'
import _Vue from 'vue'[Main,Home,About].map(item=>{item.install = Vue => {if (!Vue) {window.Vue = Vue = _Vue}Vue.component(item.name, item)}
})
export default { // 这里有修改Main,Home,About
}

使用方法不变
9. 如果不想生成 source map 文件,可以在 vue.config.js 中新增

module.exports = {configureWebpack: config => {return {output: {libraryExport: 'default' // 默认为 undefined,将会导出整个(命名空间)对象},devtool: 'none' // (none)(省略 devtool 选项) - 不生成 source map。webpack官网查询}},css: { extract: false },
}

相关内容

热门资讯

言短意长|“烹饪大师”退场,餐... 地方行业协会的“大师”清理仍在进行时。近日,四川泸州市餐饮行业协会、泸州市餐饮行业工会联合会发出一纸...
国家发展改革委向民营企业 公开... (来源:嘉兴日报)转自:嘉兴日报  新华社北京9月11日电(记者 魏玉坤)记者11日从国家发展改革委...
弓弦之上 热爱与梦想同箭齐发 (来源:嘉兴日报)转自:嘉兴日报  ■记者 龚思雨  拉弓、瞄准、放弦,箭矢破空而出,一声清脆的“b...
漫画的启示 (来源:南湖晚报)转自:南湖晚报   长安镇中心小学605班 潘奕桐 指导老师 杜盈  漫画虽然不会...
三友联众聘任44岁杜欣洋为核心... 9月12日,三友联众公告,聘任杜欣洋先生为公司核心技术人员。资料显示,杜欣洋先生,中国国籍,无境外永...