前端正在慢慢领悟学习中...
常用模块、库、插件备忘
//DOM操作 react、react-dom //路由相关 react-router、react-router-dom //状态管理 redux、react-redux //异步逻辑操作 redux-saga //处理es6和JSX babel-loader //处理.css文件 style-loader css-loader //webpack开发服务器 webpack-cli webpack-dev-server webpack-merge:提供合并操作 //把所有css都打包到一个独立的文件 extract-text-webpack-plugin //清理打包后的文件 clean-webpack-plugin //将打包后的js文件自动导入到html文件中 //1.为html文件引入外部资源如script、link,并动态添加每次compile后的hash,防止引用缓存的外部文件 //2.生成创建html入口文件,配置N个该plugin可以生成N个页面入口 html-webpack-plugin //静态检查代码的语法和风格 eslint express:基于 Node.js 的web应用开发框架 if-env:用于切换开发和生产环境运行 npm start compression:服务端gzip压缩
样式管理
Autoprefixer:自动管理浏览器前缀
常用工具
Webpack: 打包工具,模块化编程 Babel: 转码工具,解决在低端版本浏览器上的兼容问题 react-devtools: React的调试工具,chrome插件 redux-devtools-extension: Redux调试工具,chrome插件
Babel
必备插件
babel-cli babel-core babel-preset-env babel-preset-react babel-preset-stage-2
jest
Mocha + chai + jsdom + sinon + ...
//安装
npm install --save-dev jest
npm install -g jest
//配置
"jest": {
"testRegex": "/test/.*.test.jsx?$"
}
//代码覆盖率
jest --coverage
React
//断点调试必备插件(VSCode通过Chrome的debug protocol连接到Chrome) Debugger for Chrome //调试方法1 npm start --> chrome页面F12 --> tab页source中js文件打断点或加debugger --> 页面操作 //调试方法2 npm start --> 菜单:启动调试 -->vscode中代码文件直接打断点
需要配置 .vscodelaunch.json 文件
{
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "attach",
"name": "Attach to Chrome",
"port": 9222,
"sourceMaps": true,
"webRoot": "${workspaceFolder}"
},
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:3001",
"webRoot": "${workspaceFolder}",
"sourceMaps": true,
"skipFiles": [
"node_modules/**"
],
"sourceMapPathOverrides": {
"webpack:///*": "${webRoot}/*"
}
}
]
}
扩展了解launch.json文件中的属性
"request":调试启动方式,launch:每次重新加载 attach:附加到已有浏览窗口
${workspaceRoot}:VSCode中打开文件夹的路径
${workspaceRootFolderName}:VSCode中打开文件夹的路径, 但不包含"/"
${file} :当前打开的文件
${relativeFile}:当前打开的文件,相对于workspaceRoot
${fileBasename} :当前打开文件的文件名, 不含扩展名
${fileDirname} :当前打开文件的目录名
${fileExtname}:当前打开文件的扩展名
${cwd} :当前启动时的工作目录
react-devtools + redux-devtools-extension