美文网首页
发布 npm 包

发布 npm 包

作者: 一叶障目5217 | 来源:发表于2019-03-17 16:07 被阅读0次

发布 npm 包

1.项目初始化

vue init webpack-simple 项目名称

项目结构如下


项目结构

2.components/index.js 文件下 引入文件组件

import zlCalendar from './zl-calendar'
import zlRange from './zl-range'
import zlSlideDelete from './zl-slide-delete'
const comment = {
  install:function(Vue){
    Vue.component('zlCalendar', zlCalendar)
    Vue.component('zlRange', zlRange)
    Vue.component('zlSlideDelete', zlSlideDelete)
  }
}
// global 的状态下自动安装
if(typeof window !== 'undefined' && window.Vue){
  window.Vue.use(comment)
}
// 导出模块
export default comment

3. 修改 package.json

{
  "name": "zl-vue-ui",
  "description": "A Vue.js project",
  "version": "1.0.3",
  "author": "徐其闯 <xqc1319681561@163.com>",
  "main": "dist/zl-vue-ui.js",// 配置main结点,如果不配置,我们在其他项目中就不用import XX from '包名'来引用了,只能以包名作为起点来指定相对的路径
  "license": "MIT",
  "private": false, // 因为组件包是公用的,所以private为false
  "scripts": {
    "dev": "cross-env NODE_ENV=development webpack-dev-server --open --hot",
    "build": "cross-env NODE_ENV=production webpack --progress --hide-modules"
  },
  "repository": { // 指定代码所在的仓库地址
    "type": "git",
    "url": "git+https://github.com/xuqichuang/zl-vue-ui.git"
  },
  "dependencies": {
    "better-scroll": "^1.14.1",
    "moment": "^2.24.0",
    "vue": "^2.5.11"
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ],
  "keywords": [// 指定关键字
    "vue",
    "vue-ui"
  ],
  "devDependencies": {
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.2",
    "babel-preset-env": "^1.6.0",
    "babel-preset-stage-3": "^6.24.1",
    "cross-env": "^5.0.5",
    "css-loader": "^0.28.7",
    "file-loader": "^1.1.4",
    "node-sass": "^4.9.3",
    "sass-loader": "^7.1.0",
    "vue-loader": "^13.0.5",
    "vue-template-compiler": "^2.4.4",
    "webpack": "^3.6.0",
    "webpack-dev-server": "^2.9.1"
  }
}

4.修改webpack.config.js

// entry: './src/main.js',
  entry: './src/components/index.js',
  output: {
    path: path.resolve(__dirname, './dist'),
    publicPath: '/dist/',
    // filename: 'build.js'
    filename: 'zl-vue-ui.js',
    library: 'zl-vue-ui',
    libraryTarget: 'umd',
    umdNamedDefine: true
  },

5.修改.gitignore 文件

因为要用dist文件夹,所以在.gitignore文件中把dist/去掉。

6.修改index.html

<!-- <script src="/dist/build.js"></script> -->
    <script src="/dist/zl-vue-ui.js"></script>

7.测试插件

在发正式包之前可以在本地先打一个包,然后测试下有没有问题,如果没问题再发布到npm上。

  • 首先,打包到本地 npm run build
  • npm pack
  • npm pack 之后,就会在当前目录下生成 一个tgz 的文件。
    打开一个新的vue项目,在当前路径下执行(‘路径’ 表示文件所在的位置)
  • npm install 路径/组件名称.tgz
//使用方法
import 变量名 from '组件名称'
Vue.use(变量名)

8.发布到NPM

  1. 在 npm官网 注册一个npm账号
  2. 切换到需要发包的项目根目录下,npm login登录npm账号,输入用户名、密码、邮箱
  3. 最后一步,执行npm publish即可

发布到NPM后,使用插件时可以用npm install 组件名称 来安装

更多详细知识介绍请访问我的个人主页

相关文章

  • 自定义npm包的创建、发布、更新和撤销

    大纲 1、准备2、自定义npm包3、发布自定义npm包4、引用npm包5、更新npm包6、撤销发布的npm包 博客...

  • npm操作

    npm所有者管理: npm登录: npm查看用户信息: 发布(包): npm撤销发布的包: npm退出: 初始化n...

  • npm包发布流程

    npm包发布流程 标签(空格分隔): Node.js npm包发布流程 注册npm账号 方式一:去npm官网注册 ...

  • 如何在npm发布一个包

    发布一个npm包 1 登录 npm 2 更新包版本号 3 发布 设置npm publish 时的发布文件(有时我们...

  • 发布npm包,删除npm包

    发布npm包 注册并在本机添加npm用户(已注册可忽略) 完成了上面的步骤之后,我们接下来要在www.npmjs....

  • npm发布包

    1. 使用npm命令登陆: 输入:Username、Password、Email 2. 在package.json...

  • 发布npm包

    可以发布任何有package.js文件的目录。比如 node module 创建一个用户 要想发布,必须在npm ...

  • 发布npm包

    1.https://www.npmjs.com注册npm账号2.进入要发布的工程目录下 npm init3.切换镜...

  • npm发布包

    package.json设置 发布

  • 发布npm包

    在 npm官网注册账号 https://www.npmjs.com/ 登录到要发布的包的项目下 并按提示输入用户名...

网友评论

      本文标题:发布 npm 包

      本文链接:https://www.haomeiwen.com/subject/juuumqtx.html