初始化项目的规范构建,自动帮助项目安装 eslint、prettier、husky、commitzen 等工具。
npm install @jackbrens/web-checknpm install -D @babel/core @babel/preset-env 安装依赖
.babelrc 文件,添加 babel 预设
js
// .babelrc 文件内容
{
"presets": ["@babel/preset-env"]
}
`
- 在 package.json 中添加字段 "type": "module",因为 node 默认是 CommonJS 模块管理的
import 引入 json 文件时报错
`js
// 错误 ❎
import packJson from "../package.json"
// 正确 ✅
import packJson from "../package.json" assert { type: "json" }
`
写入文件除了用 outputFileSync ,还有哪些,分别有什么好处?
`js
const getPath = (paths) => {
return path.join(process.cwd(), paths)
}
fs.outputFileSync(getPath('./.eslintrc.js'), eslintrc)
fs.outputFileSync(getPath('./.eslintignore'), eslintignore)
`
使用 cross-spawn 无法执行 npx 命令
解决办法:
因为使用 cross-spawn 无法使用 npx 命令,所以可以在 package.json 的 scripts 中添加命令,然后用 npm 执行他
`json
import spawn from "cross-spawn"
spawn.sync(npm set-script "prepare" "husky install")
spawn.sync(npm run prepare)
``