1.关于npm源
npm config set registry http://registry.npm.taobao.org/
npm config set registry http://registry.npmjs.org
安装nrm
npm install nrm -g --save
nrm use cnpm
2.devDependencies 和 dependencies
若文件中import 引入 devDependencies 中插件 , 依然会把当前引入的插件打包到文件中,不引入则不打包。
而 dependencies 中的插件不管你引不引入都会打包到文件中去。
3.npm包开发
代码结构组织
-------------- src // 源代码目录 比如coffee,typescript,es6+等代码的目录
-------------- lib // 转义生成的代码目录,比如babel转义后的es5代码的目录
-------------- docs // 代码相关的设计和使用文档
-------------- tests // 相关的测试目录
- 创建一个新的文件夹并进入,本例文件夹名【yo-coder】,执行
npm init
命令初始化项目,执行命令后有一些信息要填,直接忽略,一路回车即可(后面可以修改),最后会在文件夹下生成一个package.json文件
{
"name": "coder", // 项目名称,在npm仓库中唯一
"version": "1.0.0", // 版本号
"description": "", // 描述
"main": "index.js", // 使用import yo from \'coder\'导入时,yo指向的文件
"bin": {
vue: "bin/index.js"
} // 命令”vue“将会执行bin/index.js文件
"scripts": { // 自定义命令\r\n \"test\": \"echo 这是一个测试命令\"
},
"author": "11", // 作者
"license": "MIT" // 一种开源协议,作者只保留版权,其他的可以为所欲为
}
- 写一点代码
为了演示方便,这里就简单的创建了一个index.js文件,导出两个方法
exports.yo = function() {
alert('Yo Coder!')
}
exports.hello = function() {
alert('Hello Coder!')
}
4.npm包发布
npm publish
版本控制
https://blog.csdn.net/znyaiw/article/details/80199457
具体咋用:
比如我想来个1.0.1版本,注意,是最后一位修改了增1,那么命令:npm version patch 回车就可以了;
比如我想来个1.1.0版本,注意,是第二位修改了增1,那么命令: npm version minor 回车就可以了;
比如我想来个2.0.0版本,注意,是第一位修改了增1,那么命令: npm version major 回车就可以了;