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

.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 },
}

相关内容

热门资讯

资本界金控(00204.HK)... 格隆汇7月2日丨资本界金控(00204.HK)公告,公司近期与江苏福万代科技信息有限公司("福万代"...
新希望:独立董事彭龙接受纪律审... 转自:财联社【新希望:独立董事彭龙接受纪律审查和监察调查】财联社7月2日电,新希望公告,公司独立董事...
3岁萌娃迷路街头,妈妈急疯!两... 来源:杭州公安 “你好 我在天万街与羊头坝路交叉口的桥上 这边有个小孩子找不到家人一直在哭” 6月2...
中考成绩单|低波策略业绩盘点 (转自:国泰基金微幸福)
华菱钢铁:投资者建议连续三年回... 投资者提问:回购注销是财务手段里提升pb最稳定最可靠最有效的方式,在pb回升到1之前,每年分红可以少...
今年前5个月销量排名前十位轿车... 转自:北京商报北京商报讯(记者 刘晓梦)7月2日,据中国汽车工业协会统计分析,今年前5个月,销量排名...
法国已有2人死于热浪 转自:新华社新华社巴黎7月2日电(记者罗毓)法国商业调频电视台2日上午报道,最近该国遭遇强热浪天气,...
赛意信息(300687.SZ)... 格隆汇7月2日丨赛意信息(300687.SZ)公布,截至2025年6月30日,公司通过股份回购专用证...
比亚迪汽车:海洋网累计销售超5... 7月2日,比亚迪汽车官方微博显示,比亚迪海洋网6月热销196766辆,同比增长24.6%。2025年...
能特科技:拟以3亿元-5亿元回... 格隆汇7月2日|能特科技公告,公司拟使用自有资金及自筹资金,本次回购股份将全部用于注销并相应减少注册...