愚蠢的人让神经网络像机器的硬盘一样记忆信息, 聪明的人让机器模仿学习像人类一样深邃的思考.
参考
资源
node-module-boilerplate
使用 npm 初始化项目
1 | cd x:/git.workspace/node-module-boilerplate |
使用 rollup 构建工具, 构建现代化 node package
使用 npm 添加开发时依赖: rollup
1
npm i rollup -D
创建基本的目录结构
1
mkdir -p src/index.js __test__/ build coverage rollup.config.js
添加以下内容到
rollup.config.js
参考: 前端构建工具1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38import babel from 'rollup-plugin-babel'
import { terser } from 'rollup-plugin-terser'
import commonjs from 'rollup-plugin-commonjs'
import resolve from 'rollup-plugin-node-resolve'
import filesize from 'rollup-plugin-filesize'
export default {
input: 'src/index.js',
output: [
{
file: 'build/index.cjs.js',
format: 'cjs'
},
{
file: 'build/index.esm.js',
format: 'es'
}
],
external: ['core-js'],
plugins: [
resolve(),
babel(),
commonjs(),
terser({
output: {
// 保留版权注释
comments (node, comment) {
const text = comment.value
const type = comment.type
if (type === 'comment2' /* multiline comment */) {
return /preserve|license|cc_on/i.test(text)
}
}
}
}),
filesize()
]
}添加以下 npm script
package.json:1
2
3
4
5
6
7
8
9
10{
"main": "build/index.cjs.js",
"module": "build/index.esm.js",
"files": [
"build"
],
"script": {
"build": "rollup --config"
}
}
使用 jest 测试框架测试代码
参考: JavaScript Testing Framework: jest
使用 eslint 和 eslint-config-standard
参考: 代码规范与项目结构
使用 npm 添加开发时依赖性: eslint 和 eslint-config-standard
1
2npm i -D eslint
npm install --save-dev eslint-config-standard eslint-plugin-standard eslint-plugin-promise eslint-plugin-import eslint-plugin-node新建
.eslintrc
和.eslintignore
文件1
touch .eslintrc .eslintignore
.eslintrc
:1
2
3{
"extends": "standard"
}.eslintignore
:1
build/**
添加以下 npm script
package.json:1
2
3
4
5
6{
"script": {
"lint": "eslint .",
"lint:fix": "eslint --fix ."
}
}
使用 lint-staged , husky 以及 [commitlint][] 规范 git staged files 和 git commit message
使用 npm 添加开发时依赖: lint-staged \ husky \ commitlint
1
2
3npm i -D husky lint-staged
npm install --save-dev @commitlint/config-angular @commitlint/cli
npm install --save-dev @commitlint/prompt @commitlint/prompt-cli添加以下内容到
package.json
package.json1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17{
"scripts": {
"commit": "commit"
},
"lint-staged": {
"*.js": [
"eslint --fix",
"git add"
]
}
"husky": {
"hooks": {
"pre-commit": "lint-staged",
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}
}添加以下内容到
commitlint.config.js
commitlint.config.js:1
module.exports = { extends: ['@commitlint/config-angular'] }
使用 [semantic-release][] 语义化版本号
使用 npm 将 semantic-release-cli 安装至全局
1
npm install -g semantic-release-cli
执行
semantic-release-cli setup
1
semantic-release-cli setup
[codecov][]
使用 npm 添加开发时依赖: codecov
1
npm install codecov --save-dev
添加以下 npm script
package.json:1
2
3
4
5{
"script": {
"codecov": "codecov"
}
}
新建一个 github 仓库, 对代码进行版本管理
登录 github 并新建一个名为
node-module-boilerplate
的仓库使用 git 命令行工具将本地工作目录链接到 github 服务器的仓库
1
2
3
4
5
6git init
git add .
git commit -m "first commit"
git remote add origin git@github.com:FloatingShuYin/node-module-boilerplate.git
git pull --set-upstream origin master
git push使用编辑器打开工作目录并重装 husky
1
2
3
4code .
npm uninstall husky
npm install -D husky
npm audit fix