npm的包的理念是,只做一件事,并且做好
你可以利用别人的专业知识和专长在你自己的项目中。
npm install package -g 参数-g表示全局安装,这时可以直接在命令行中使用包
安装包时不使用-g参数,则默认非全局安装
如果一个安装包没有在package.json中指明版本,则默认安装最新的版本
版本号的三个部分1.0.0
如果是patch, bug fix, 则increment 最后一位
如果是new features, 并且不影响已有的features,则increment中间一位
如果是大版本,break the backwards compatibility 则increment第一位,e.g. 2.0.0
package json中的版本 "chai": "^3.5.0", ^表示只要主版本号不变,其他的feature, patch版本都可以向上增加
"chai": "~3.5.0", 表示只接受patch版本号的变更
npm init可以在一个空文件夹下帮你建立package.json文件
npm init --yes可以让你只初始化一个author.name就可以了,其他都是默认,package name也是和author.name相同,如果你这是一个git repository那么package.name将是repository name
bashrc rc = run command 这个缩写也真是无语了
一下命令是安装单个依赖,并确定是保存为dependencies 还是devDependencies
To add an entry to your package.json
's dependencies
:
To add an entry to your package.json
's devDependencies
:
var webpack = require('webpack') var WebpackDevServer = require('webpack-dev-server') var getConfig = require('../webpack.config') const webpackDevHost = 'localhost' export default { listen: (serverPort) => { const webpackDevPort = serverPort + 1 const config = getConfig(webpackDevPort); const webpackDevServer = new WebpackDevServer( webpack(config), { publicPath: config.output.publicPath, hot: true, historyApiFallback: true } ) webpackDevServer.listen( webpackDevPort, webpackDevHost, function (err, result) { if (err) { console.log(err) } console.log('Listening at ' + webpackDevHost + ':' + webpackDevPort) } ) } }
本来以为webpack接受函数作为config实际上上面代码中config已经是一个对象了,已经通过getConfig获取了实际的配置对象了