Vue发布nmp包

2023-10-19 08:10
文章标签 vue 发布 nmp

本文主要是介绍Vue发布nmp包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

有的同学问我怎么将自己开发的Vue组件打包上传,供他人下载使用呢?接下来我就把自己发布npm包过程记录如下,大家做个参考

一、生成发布文件

1、npm包基本信息配置文件package.json

package.json在你项目的根目录下,相关配置如下:

{"name": "hbl-comment","version": "1.0.0", "description": "评论回复组件","author": "hbl","main": "dist/comment.js","keywords": ["评论","回复","vue"],"scripts": {"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js","start": "npm run dev","build": "webpack --display-error-details --config webpack.config.js"},"dependencies": {"element-ui": "^2.12.0","vue": "^2.5.2","vue-router": "^3.0.1"},"devDependencies": {"autoprefixer": "^7.1.2","babel-core": "^6.22.1","babel-helper-vue-jsx-merge-props": "^2.0.3","babel-loader": "^7.1.1","babel-plugin-syntax-jsx": "^6.18.0","babel-plugin-transform-runtime": "^6.22.0","babel-plugin-transform-vue-jsx": "^3.5.0","babel-preset-env": "^1.3.2","babel-preset-stage-2": "^6.22.0","chalk": "^2.0.1","copy-webpack-plugin": "^4.0.1","css-loader": "^0.28.0","extract-text-webpack-plugin": "^3.0.0","file-loader": "^1.1.4","friendly-errors-webpack-plugin": "^1.6.1","html-webpack-plugin": "^2.30.1","node-notifier": "^5.1.2","optimize-css-assets-webpack-plugin": "^3.2.0","ora": "^1.2.0","portfinder": "^1.0.13","postcss-import": "^11.0.0","postcss-loader": "^2.0.8","postcss-url": "^7.2.1","rimraf": "^2.6.0","semver": "^5.3.0","shelljs": "^0.7.6","uglifyjs-webpack-plugin": "^1.1.1","url-loader": "^0.5.8","vue-loader": "^13.3.0","vue-style-loader": "^3.0.1","vue-template-compiler": "^2.5.2","webpack": "^3.6.0","webpack-bundle-analyzer": "^2.9.0","webpack-dev-server": "^2.9.1","webpack-merge": "^4.1.0"},"engines": {"node": ">= 6.0.0","npm": ">= 3.0.0"},"browserslist": ["> 1%","last 2 versions","not ie <= 8"]
}

2、打包相关配置文件webpack.config.js

webpack.config.js配置文件需要在根目录下创建,然后添加以下配置

const path = require("path");
const webpack = require("webpack");
const uglify = require("uglifyjs-webpack-plugin");module.exports = {entry: "./src/index.js", //入口文件,src下的index.jsoutput: {path: path.resolve(__dirname, "./dist"), //输出路径dist目录publicPath: "/dist/",  //打包后输出路径      与package.json中main路径对应filename: "comment.js", //打包后输出的文件名 与package.json中main文件名对应  main应该为:'dist/comment.js'libraryTarget: "umd",//使打包格式支持多种使用场景umdNamedDefine: true},module: {rules: [{test: /\.vue$/,loader: "vue-loader"},{test: /\.scss$/,use: [{loader: "style-loader"},{loader: "css-loader"},{loader: "scss-loader"}]},{test: /\.js$/,exclude: /node_modules/,loader: "babel-loader" //babel的相关配置在.babelrc文件里},{test: /\.(png|jpg|gif|ttf|svg|woff|eot)$/,loader: "url-loader",query: {limit: 30000 //把一些小图片打包为base64}}]},plugins: [//压缩js代码new webpack.optimize.UglifyJsPlugin({//输出不显示警告compress: {warnings: false //默认值},//输出去掉注释output: {comments: false //默认值}})]
};

3、在src下创建上面配置的index.js文件,主要用于导出我们的组件

import comment from './components/Comment'
export default  comment

4、使用如下命令进行构建,生成需要发布的文件

npm run build

命令执行完成之后会发现在dist目录下生成了comment.js文件,如下图

二、发布npm包

打包成功之后将其上传到npm上,提供其他用户使用,没有账号的可以去其官网注册

https://www.npmjs.com/

首先登陆npm

npm  login

按提示输入账号和密码等信息进行登录,登录成功后如下图:

然后使用下面命令发布组件

npm publish

如果没有安装pubish会提示如下错误:

那么需要先安装publish然后再发布:

npm install -g pubish

发布成功之后会显示名称和版本号,如下图:

其他用户可直接在项目中使用下面命令进行下载

npm i hbl-comment

SSM后台管理系统开发实战课程链接

访问我的达人课

我的微信公众号

 

这篇关于Vue发布nmp包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/238496

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

定价129元!支持双频 Wi-Fi 5的华为AX1路由器发布

《定价129元!支持双频Wi-Fi5的华为AX1路由器发布》华为上周推出了其最新的入门级Wi-Fi5路由器——华为路由AX1,建议零售价129元,这款路由器配置如何?详细请看下文介... 华为 Wi-Fi 5 路由 AX1 已正式开售,新品支持双频 1200 兆、配有四个千兆网口、提供可视化智能诊断功能,建

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

详解Vue如何使用xlsx库导出Excel文件

《详解Vue如何使用xlsx库导出Excel文件》第三方库xlsx提供了强大的功能来处理Excel文件,它可以简化导出Excel文件这个过程,本文将为大家详细介绍一下它的具体使用,需要的小伙伴可以了解... 目录1. 安装依赖2. 创建vue组件3. 解释代码在Vue.js项目中导出Excel文件,使用第三

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模