npm 发布vue组件及使用

  1. 使用 webpack-simple构建一个 vue 项目 (简介方便)
  2. vue init webpack-simple XXXX
  3. 按照提示依次输入信息
 	? Project name 项目名称
	? Project description 描述
	? Author 作者名称(和npm仓库用户名称一致)
	? License MIT
	? Use sass? Yes
  1. 初始化项目 npm install

  2. 在src 目录下创建存放组件的文件夹 components

  3. 在components下创建存放第一个组件目录 first (自定义) ,新建 index.vue 和 index.js 文件

    index.vue 页面 写了简单的案例

<template>
  <div :style="{ color: fontColor }">我是第一个测试组件</div>
</template>
<script>
export default {
  name: "first",
  props: {
    // 父级传过来的颜色样式
    fontColor: {
      type: String,
      default: "#666"
    }
  }
};
</script>

index.js 页面

	import Demo from "./index"
	Demo.install = function(Vue){
	    Vue.component(Demo.name, Demo)
	}
  1. 再创建第二个组件 second 与 first 创建雷同
  2. 在与App.vue同级目录下新建index.js;引入所有组件集中管理然后全部导出(多组件和单组件一样)
	import first from "./components/first/index"
	import second from "./components/second/index"
	const components = [first,second]
	const install = function (Vue, opts={}) {
	  components.forEach(component => {
	    Vue.component(component.name, component);
	  })
	}
	
	/* 支持使用标签的方式引入 */
	if (typeof window !== 'undefined' && window.Vue) {
	  install.use(window.Vue);
	}
	
	export default {
	    // 全部导出
	    install,
	    // 按需导出
	    ...components
	}
  1. 修改配置文件,webpack.config.js
	entry: process.env.NODE_ENV=='development'?'./src/main.js':'./src/index.js',
  	output: {
	     // 修改打包出口,在最外级目录打包出一个 index.js 文件,我们 import 默认会指向这个文件
	    path: path.resolve(__dirname, './dist'),
	    publicPath: '/dist/',
	    filename: "mpn-my-wmin.js",
	    library: "mpn-my-wmin", // 指定的就是你使用require时的模块名
	    libraryTarget: 'umd', // libraryTarget会生成不同umd的代码,可以只是commonjs标准的,也可以是指amd标准的,也可以只是通过script标签引入的
	    umdNamedDefine: true // // 会对 UMD 的构建过程中的 AMD 模块进行命名。否则就使用匿名的 define
 	},
  1. 修改 package.json 文件
  "private": false,
  "main": "dist/light-com.js",
  "files": ["dist/*","src/*","*.json", "*.js"],

package.json文件

  1. 打包项目: npm run build
  2. 提交发布
    登录npm账号,输入用户名、密码、邮箱
	npm login
执行发布
	npm publish
  1. 项目使用组件
npm i npm-my-wmin

import npmMyWmin from 'npm-my-wmin'
components: {
    first: npmMyWmin.first,
    second: npmMyWmin.second,
},

npm 私有库使用

https://www.jianshu.com/p/77fbc6b6f87a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值