IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue组件封装发布Npm包 -> 正文阅读

[JavaScript知识库]Vue组件封装发布Npm包

#Vue组件封装发布Npm包

一、

1、通过Vue脚手架创建简易项目

vue init webpack-simple my-project

2、安装依赖并运行

cd my-project

npm install

npm run dev

二、在src文件下创建一个文件存放写好的组件-我的是countDowns
在这里插入图片描述

三、在main.js 入口文件的同级目录下,添加index.js 打包的入口文件-下面是index.js代码

// 打包的入口文件 也是引用时的标签名countDowns  <count-downs></count-downs>
import countDowns from './countDowns/index.vue'
const components = [
	countDowns
]
const install = function (Vue, opts = {}) {
	components.map(component => {
		Vue.component(component.name, component)
 ?	})
}

/* 支持使用标签的方式引入 */
if (typeof window !== 'undefined' && window.Vue) {
 ?	install(window.Vue)
}
export default {install, countDowns}

四、可以尝试在入口文件main.js 中引用,这样在项目中任何地方可以直接使用组件

import blod from ‘./index.js’

Vue.use(blod)

比如我直接在app.vue中直接引用 ,如可以使用,项目就搭建完成了,接下来修改打包配置。

五、webpack.config.js设置,设置入口和输出路径

// 设置入口和输出路径       当前模式
entry: process.env.NODE_ENV === 'production'? './src/index.js' : './src/main.js',
output: {
	path: path.resolve(__dirname, './dist'),
	publicPath: '/dist/',
	filename: 'b-lod.js',
	library: 'b-lod', // 指定的就是你使用require时的模块名
	libraryTarget: 'umd', // libraryTarget会生成不同umd的代码,可以只是commonjs标准的,也可以是指amd标准的,也可以只是通过script标签引入的
	umdNamedDefine: true, // 会对 UMD 的构建过程中的 AMD 模块进行命名。否则就使用匿名的 define
}

六、package.json设置 注意!!!!!

设置private属性为false,默认为true,npm 发布的时候如果为true会失败。
添加node_module 的入口文件设置,“main”: “dist/b-lod.js”

七、打包项目

修改.gitignore文件下的 dist/注释掉

然后打包项目

npm run build

八、发布到Npm,需注册Npm账号(可能需要科学上网)

九、终端登录Npm

npm login

输入账号、密码、邮箱

十、发布项目

npm publish

后续如果需要继续修改内容,记得修改package.json中的版本号再发布

十一、使用项目

npm i blod

并引入

import blod from ‘./index.js’
Vue.use(blod)

json中的修改版本号再发布

通过 < count-downs></ count-downs>使用组件

<count-downs></count-downs>

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-29 16:13:51  更:2021-11-29 16:14:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 5:42:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码