crabtest
v1.1.59
Published
webpack+babel+react
Downloads
22
Readme
npm node 使用 创建发布包
#####创建一个符合CommonJS规范的包应该是如下这种结构: ├── README.md //说明文档 ├── index.js //主入口 ├── lib //功能文件 ├── package.json //包信息 └── test //测试用例
- 发布 npm publish < folder >
- 安装 npm install < package >
#####NPM 错误提示“uid must be an unsigned int” 查看文件所属 ls -la /usr/local/lib/node_modules 查看当前用户 whoami 修改文件权限 sudo chown -R 【user】 /usr/local/lib/node_modules
#####1. bin/ lib/ test/ index.js bin/index (注意:index 是一个 shell 文件不是js)
#####2. 生成 package.json 1. npm init 生成 package.json 2. npm init创建的package.json文件只包含了基本的信息,我们还需要加入对其他module的依赖关系 3. "bin": { "crabtest": "/bin/index.js" } //全局安装生成shell快捷方式文件
package.json 属性说明:
name - 包名。
version - 包的版本号。
description - 包的描述。
homepage - 包的官网 url 。
author - 包的作者姓名。
contributors - 包的其他贡献者姓名。
dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
devDependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
main - main 字段是一个模块ID,它是一个指向你程序的主要项目。就是说,如果你包的名字叫 express,然后用户安装它,然后require("express")。
keywords - 关键字
版本格式:主版本号.次版本号.修订号,版本号递增规则如下:
主版本号:当你做了不兼容的 API 修改,
次版本号:当你做了向下兼容的功能性新增,
修订号:当你做了向下兼容的问题修正。
先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。
dependencies和devDependencies的区别
一个node package有两种依赖,一种是dependencies一种是devDependencies,其中前者依赖的项该是正常运行该包时所需要的依赖项,而后者则是开发的时候需要的依赖项,像一些进行单元测试之类的包。
npm install 将包下载下来在包的根目录里运行,默认会安装两种依赖
npm install --production 只安装dependencies而不安装devDependencies
npm install packagename 只安装dependencies
npm install packagename --dev 安装devDependencie
疑问:dependencies中包依赖需要自己加进去,暂时没发现怎么自动添加依赖关系
#####3. 安装optimist 1. 安装 npm i optimist 2. --package.json "dependencies": { "optimist": "^0.6.1" } 3. 使用 var argv = require('optimist').argv; if (argv.s) { console.log('-s? --s?') } if (argv.rf) { console.log('--rf?') } 4. 终端:(字母可以用 -w 或者 --w 单词必须用 --word 了) bogon:bao1 zhangsen$ crabtest --pub -f --pub? -f? --f? bogon:bao1 zhangsen$ crabtest -pub -f -f? --f?
#####webpack 安装: npm i webpack 引用: var webpack = require('webpack'); 引用webpack
#####babel.js npm i babel-loader babel-preset-es2015 babel-preset-react babel-core --save-dev
配置:
module:{//添加模块
loaders:[//模块加载器
{
test:/.css$/,//搜索以css后缀名的正则
loaders:['style','css'],
exclude:"/node_modules/"//打包时过滤掉这个文件
},
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel-loader',//在webpack的module部分的loaders里进行配置即可
query: {
presets: ['es2015','react']
} //http://babeljs.io/docs/plugins/preset-es2015/
}
]
}