vue-cli3 打包组件为单个js文件

背景

最近做的项目需要开发插件功能,要求可以从服务器上加载,那就需要加载[动态组件]。但是所有需要加载的组件都是动态获取和实例化的,需要作为插件加载进来。那么这些插件如何打包为单独的js文件呢?由于项目用的[vue-cli]脚手架,发现了[构建目标](,打包为库的功能,完美解决痛点。

[vue-cli]构建默认是应用模式,但是build时可以通过 --target 选项指定不同的构建目标。它允许你将相同的源代码根据不同的用例生成不同的构建。内置的有构建为一个库和构建为一个Web Components 组件2种方式。

1. 项目中用到的是第一种构建为一个库的方式。

在src/views/plugins/components/Demo 下写了个demo.vue示例插件,执行yarn build --target lib --name demo src/views/plugins/components/Demo/Index.vue命令(demo 表示打包的库名及打包后的文件名字,src/views/plugins/components/Demo/Index.vue 表示库的入口文件),控制台会告诉我们正在构建为一个库:

building

构建库成功:

构建库成功

然后会发现项目下会生成一个dist文件夹,各种文件格式官网都有说明:

dist

demo.html 里面连示例都写好了,直接运行就可以看到效果:

demo.html

这样打包好后的文件就可以上传到服务器上,前端从服务器拉取代码通过下面代码实例化就好了。

执行js

  1. Web Components 组件

执行命令:
yarn build --target wc --name plugin-demo src/views/plugins/components/Demo/Index.vue

plugin-demo 表示web组件的名称,以-的形式更直观更符合规范(这点和库名有所区别),生成的组件可在普通 HTML 中或者其它任何框架中使用。

Web Components

Compiled successfully

和构建库一样,编译成功后会生成一个dist文件夹,同样给出了示例,太贴心啦~

web demo

注意:

两种打包方式都是将vue排除在外的,使用之前需引入vue

参考:
[vuecli3打包插件打包组件为单个js文件。别再用vue init了]

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

土豆片片

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值