js面试题-----开发环境
题目1:git常用命令
答案: git add .(把修改的内容添加到本地分支) git commit -m 'xxx'(生成一个提交,并添加注释) git pull (把远程代码pull到本地)git push(把本地代码提交) git checkout -b xxx(创建分支) git checkout xxx(切换分支) git branch(检查当前所在分支) git diff(检查代码修改的地方) git merge xxx(合并分支代码)
题目2:什么是模块化
答案:模块化的两种规范主要有AMD和CommonJs规范,都是异步的加载模块。AMD的实现是requireJs。其里面定义了两个全局函数define和require。可以通过define函数的第一个参数(数组)来表示需要依赖的模块,第二个参数来表示回调函数(里面的参数是依赖模块的返回值) 。如果其他模块需要使用这个模块,可以通过require来进行引用。CommonJS的实现主要是NODE里面 通过module.exports导出模块,同时使用require来接收。 还有一个是CMD规范,其实现是seaJS。AMD推崇依赖前置,CMD推崇依赖就近。
题目3:webpack常用配置
答案:
var path = require('path'); var webpack = require('webpack'); module.exports = { context:path.resolve(__dirname,'./src');//文件路径 entry:{ app:'./app.js'//入口文件 }, output:{ path:path.resolve(__dirname,'./dist')//输出目录 filename:'bundle.js'//输出文件 }, plugins:[ new webpack.optimize.UglifyJsPlugin()//代码压缩 ] }
题目4:上线和回滚
上线:
答案:将测试完成的代码提交到git版本库的master分支
将当前服务器的代码全部打包并记录版本号,备份
将master分支的代码提交覆盖带线上服务器,生成新版本号
回滚:
答案:将当前服务器的代码打包并记录版本号,备份
将备份的上一个版本号解压,覆盖到线上服务器,并生成新的版本号