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-cli发布一个npm包 -> 正文阅读

[JavaScript知识库]如何基于vue-cli发布一个npm包

流程:

  1. 使用vue-cli生成一个项目(这里用的2.X)

  2. 项目根目录下创建一个文件夹(paskages)放置编写代码

    创建packages/components/Button/src/button.vue

    <template>
      <div>
        <button :style="buttonBgc">
          <slot></slot>
        </button>
      </div>
    </template>
    <script>
    export default {
      name: 'SkyButton',
      props: {
        bgc: {
          type: String,
          default: 'blue'
        }
      },
      computed: {
        buttonBgc() {
          return {
            background: this.bgc
          }
        }
      }
    }
    </script>
    <style lang="scss">
    button {
      display: inline-block;
      line-height: 1;
      white-space: nowrap;
      cursor: pointer;
      background: #fff;
      border: 1px solid #dcdfe6;
      color: #606266;
      text-align: center;
      box-sizing: border-box;
      outline: none;
      margin: 0;
      font-weight: 500;
      padding: 12px 20px;
      font-size: 14px;
      border-radius: 4px;
    }
    </style>
    
    

    创建packages/components/Button/index

    import SkyButton from './src/button'
    // 为了在引用时候可以单独引入它
    SkyButton.install = function (Vue) {
      Vue.component(SkyButton.name, SkyButton)
    }
    export default SkyButton
    

    创建packages/index (作为入口文件)

    import SkyButton from './components/Button/index'
    const components = [SkyButton]
    const install = function (Vue) {
      components.forEach((component) => {
        Vue.component(component.name, component)
      })
    }
    export { SkyButton } // 使用时候既可以单独引入
    export default {
      install
    }
    
    
  3. 在src/main.js引用它,并在src/views页面引用测试

    import { SkyButton } from '../packages/index'
    Vue.use(SkyButton)
    
  4. 无bug,就准备以下几步发布

    a: pake.json配置:

      "name": "test-sky",		//包名称
      "version": "0.1.1",		// 版本号
      "private": false,			
      "main": "dist/sky.umd.min.js",	// 向外暴漏出去的文件,以便外部使用import导入
      "author": "sky",
      "keywords": ["sky","天空"],
        "scripts": {
        "serve": "vue-cli-service serve",
        "build": "vue-cli-service build",
        "lint": "vue-cli-service lint",
        "lib": "vue-cli-service build --target lib --name sky -dest lib packages/index.js"
      },
      // target: 默认为构建应用,改为 lib 即可启用构建库模式
    // name: 输出文件名
    // dest: 输出目录,默认为 dist,这里我们改为 lib
    // entry: 入口文件路径
    // vue-cli-service build --target lib --name lib [entry]
    

    运行npm run lib ,事实是并没有生成lib文件夹,还是dist文件夹。main的值就是取得这里生成的主文件
    b:确保在npm源 (登录npm)

    npm config set registry https://registry.npmjs.org
    

    c: 运行npm login登录npm账号。(填写邮箱时候不能用注册的邮箱,需要重新申请个)
    d:npm publish
    e:发布成功后就可以在npm后台看到了,然后就安装引用

	// main.js  引用
	// import testSky from "test-sky"
	// Vue.use(testSky)
	// views/xxx.vue 引用
	import { SkyButton } from "test-sky"
	Vue.use(SkyButton)

end:小demo ok

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-08 13:54:34  更:2022-01-08 13:55:29 
 
开发: 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年11日历 -2024/11/24 12:06:27-

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