🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#### 1. 理解npm、yarn依赖包管理的原理,两者的区别 1. yarn相比npm的优点:速度快、版本号锁定 1. 速度快 -- 并行安装:npm串行安装 2. 速度快 -- 离线模式:之前安装过一个软件包,再次使用yarn安装时从之前的缓存中获取,npm从网络中下载 2. 版本号锁定,保证团队各个成员下载下来的包一致,避免因版本不同引起的程序错误 #### 2. 可以使用npm运行自定义脚本 1. npm 脚本就是执行shell脚本,shell可执行命令都可写在npm script中 #### 3. 理解Babel、ESLint、webpack等工具在项目中承担的作用 1. Babel将ES6的新语法转换为浏览器可识别的兼容语法ES5 ES3 2. Babel默认只转换新语法,对于新的ES6 API,如Proxy Promise Symbol Set等需要babel-polyfill支持 1. ESLint统一代码规范,减少不必要的错误和隐患 1. webpack可以看做是模块打包机,将整个项目内的所有文件当成模块来进行管理,方便项目代码管理与开发,在开发应用中可以使用语言新语法和特性,并对每个模块文件应用不同的loader以及插件以转换成浏览器可以运行的代码 #### 4. ESLint规则检测原理,常用的ESLint配置 #### 5. Babel的核心原理,可以自己编写一个Babel插件 #### 6. 可以配置一种前端代码兼容方案,如Polyfill #### 7. webpack的编译原理、构建流程、热更新原理,chunk、bundle和module的区别和应用 #### 8. 可熟练配置已有的loaders和plugins解决问题,可以自己编写loaders和plugins #### 9. webpack项目优化 1. 忽略模块的解析路径 2. 忽略查找路径 3. 优化打包速度,将公共模块预先打包好放入到页面中,页面中模块打包不打包比如react这类第三方库:DllPlugin插件 4. 使用happypack实现多线程打包 5. import在生产环境下会自动去创造没用的代码--tree-shaking 6. scope hosting作用域提升 7. 抽离页面公共代码,抽离第三方代码