前端技能树
基建篇
tsconfig
{
"compilerOptions": {
"target": "ES6",
"module": "commonjs",
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"declaration": true,
"declarationDir": "./dist/types",
"experimentalDecorators":true,
”jsx“:"React",
"moduleResolution":"Node" | "Classic",
”sourceMap:true,
"noImplicitReturns":true,
“noUnusedLocals”:true,
"importHelpers":true,
"baseUrl":".",
"paths":{
"@":["./src"]
}
},
"include": ["src/**/*.ts"],
"exclude": ["node_modules", "dist"]
}
npm package
创建npm package 并发布
mkdir my-package
cd my-package
npm init
//配置.npmignore文件
npm pack //本地打包,其他通过npm install package-name 测试这个包
npm login //登录npm账号,npm config set registry https://registry.npmjs.org/
//添加文档READ.md 安装方式,使用示例,API文档,贡献指南,许可证信息
npm publish
{
"name": "storage-pac",
"version": "1.0.0",
"description": "this is a storage util",
"main": "dist/index.js",
"types": "dist/types/index.d.ts",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "tsc"
},
"author": "lv.xing",
"license": "MIT",
"devDependencies": {
"typescript": "^5.8.3"
}
}
eslint
npx eslint --init
npx eslint your-file.js
npx eslint your-file.js --fix
git husky
npm install husky --save-dev
npx husky init
types='^(feat|fix|docs|style|refactor|test|chore|perf|build|ci|revert):'
if [ ! -f "$1" ]; then
echo "ERROR: 提交信息文件不存在!"
exit 1
fi
message=$(cat "$1" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
if ! echo "$message" | grep -qE "$types"; then
echo "ERROR: 提交信息不符合规范!"
echo "正确格式: <类型>: <描述>"
echo "允许的类型: feat, fix, docs, style, refactor, test, chore, perf, build, ci, revert"
echo "示例: feat: 完成一个登录页面的开发"
echo "示例: feat: 完成一个登录页面的开发 [PMHZ-319]"
exit 1
fi
echo "提交信息符合规范。"
vite
npm create vite@latest app-name --template vue | react
配置智能提示vite.config.js