loader: 'url-loader',
query: {
limit: 30000,
name: '[name].[ext]?[hash]'
}
}
] },
plugins: [
new webpack.DefinePlugin({
"process.env": {
NODE_ENV: JSON.stringify("production")
}
})
]};
然后执行npm run build,就会在dist目录下生成helloMsg.min.js。这即是我们这个npm包的主文件。
6.修改package.json中的main字段中指向的主文件信息
package.json
{
...
"main": "dist/helloMsg.min.js",
7.新建一个文件,名为.npmignore,是不需要发布到npm的文件和文件夹,规则和.gitignore一样。如果你的项目底下有.gitignore但是没有.npmignore,那么会使用.gitignore里面的配置。
例如我的:
.npmignore
.*
*.md
*.yml
build/
node_modules/
src/
test/
gulpfile.js至此,一个npm组件包就做完了,剩下的,只是提交到npm官网去。
(如果要严谨点,当然还需要加入单元测试通过后再发包。。。但是。。。)
二、发布到npm上的流程
1.前提,得有个npm账号,没有就新注册一个账号,
https://www.npmjs.com/signup?utm_source=house&utm_medium=package%20page&utm_campaign=free%20orgs&utm_term=Sign%20up%20for%20npm
2.进入到项目的根目录下,运行 npm login
它会让你输入你的用户名,密码和邮箱,若登录成功,会显示:
Logged in as 你的名字 on https://registry.npmjs.org/.3.然后执行npm publish,即可将这个npm包发布到npm官网上拉。
4.更新、发新包。
需要发新包时,需要自己手动修改package.json中的version版本号,惯例是+1啦,比如1.0.0–>1.0.1。然后npm login,npm publish。即可。
三、结语:
1.发包时的常见错误:
name名重名、name名还有大写字母。。。
2.本项目的git地址:
https://github.com/hamuPP/npmStudy,如果你对本文说的不太明白,可以下载这个项目,自己随便改一下app.vue里面的东西,然后修改package.json中的name和version(一定要改哦),提交到npm上试试
3.我还按照该项目结构,做了一个基于vue 的同步树的npm组件包。
https://github.com/hamuPP/t-vue-tree










