Vue-cli
,npm
输入vue init webpack-simple <project-name>
之后,一路回车就是了(sass可以根据自己爱好选择),然后根据出现的提示依次执行切换目录,下载依赖。
当前目录结构就是这个样子的,跟原本Vue-cli
的目录结构差不多
message-bell
├── README.md
├── index.html
├── package-lock.json
├── package.json
├── src
│ ├── App.vue
│ ├── assets
│ │ └── logo.png
│ └── main.js
└── webpack.config.js
src
目录下新建一个components
文件夹,我们就在这个文件夹里写组件组件的写法是和平常项目里的写法一样的
App.vue
文件里的内容,然后把刚刚写的组件引进来,就可以看到刚写的组件了components
下面新建index.js
文件,来写导出的组件// sumFunction 插件对应组件的名字
import messageBell from './message-bell/message-bell'
// Vue.js 的插件应当有一个公开方法 install 。第一个参数是 Vue 构造器,第二个参数是一个可选的选项对象
// 参考:https://cn.vuejs.org/v2/guide/plugins.html#%E5%BC%80%E5%8F%91%E6%8F%92%E4%BB%B6
// 此处注意,组件需要添加name属性,代表注册的组件名称,也可以修改成其他的
const messages = {
install(Vue){
Vue.component('messageBell', messageBell)
}
}
/* 支持使用标签的方式引入 */
if(typeof window !== 'undefined' && window.Vue){
window.Vue.use(messages);
}
export default messages;
webpack.config.js
文件的出入口文件// 执行环境
const NODE_ENV = process.env.NODE_ENV;
console.log("-----NODE_ENV===",NODE_ENV);
// entry: './src/main.js',
// 根据不同的执行环境配置不同的入口
entry: NODE_ENV == 'development' ? './src/main.js' : './src/components/index.js',
/* output: {
path: path.resolve(__dirname, './dist'),
publicPath: '/dist/',
filename: 'build.js'
}, */
output: {
path: path.resolve(__dirname, './dist'),
publicPath: '/dist/',
filename: 'messageBell.js',
library: 'messageBell', // 指定的就是你使用require时的模块名
libraryTarget: 'umd', // 指定输出格式
umdNamedDefine: true // 会对 UMD 的构建过程中的 AMD 模块进行命名。否则就使用匿名的 define
},
修改完之后,执行npm run build
查看打包结果
这样就算是打包成功了
//"private": true,
"private": false,
"main": "dist/messageBell.js",
注册完之后需要邮箱验证,没有验证的话无法上传组件
//登陆
npm login
//生成版本号
npm version patch
//上传组件
npm publish
//取消上传
npm unpublish <组件名>
npm link
在打包上传之前在本地项目里测试扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有