搭建es6热更新环境 2018-07-31

一、构建环境

1.es6浏览器不支持,先要构建支持es6的环境

项目构建工具:

gulp:自动化工具

          中文网址:https://www.gulpjs.com.cn/

babel:编译工具,编译es6  

          中文网址:https://www.babeljs.cn/

webpack:构建工具

              中文网址:https://www.webpackjs.com/


2.创建项目文件夹


APP:前端代码(views  css  js)

Server:服务端文件

Tasks:构建工具目录

Views/index.ejs:模板文件,ejs后缀是因为这个文件通过nodejs的express框架做的,他的模板引擎就是 ejs模板引擎

Tasks/Util:放置常见脚本


3.安装

   npm install nodejs -g            链接:http://nodejs.cn/

   npm install express -g           链接:http://www.expressjs.com.cn/

   npm install -g express-generator


4.在server里执行express  -e  .

Express: 脚手架

-e:使用ejs模板引擎

. :在当前目录执行


执行后的命令行:

根据命令行提示执行:npm install  


5. 初始化项目 npm init

    回答问题之后生成对应的package.json文件


6.创建gulp配置文件

执行两条命令:

touch gulpfile.babel.js :创建gulp配置文件(和gulp官网建议文件名(gulpfile.js)不一样,因为此项目使用es6语法创建,需要使用babel编译,文件名固定)

touch .babelrc (文件名固定):设置babel编译工具的配置文件


7.配置babelrc

npm install babel-preset-env --save-dev

//此插件用于转换es2015

babelrc文件内:

{ "presets": ["env"]}

//需要兼容到IE8需要进行其他配置

注意: 因为 npm 2.x 下载依赖的关系,在使用 npm 2.x 运行 Babel 6.x 的项目时,可能会引起性能问题。 你可以通过切换到 npm 3.x 或在 npm 2.x 上使用 dedupe 选项来解决这个问题。


8.配置gulpfile.babel.js

将tasks下面的包都引进来执行


二、构建脚本(文件都放在tasks里面)

1.在tasks/util下创建args.js

引入args包定义参数(处理命令行参数)

注意输出模块:


2.tasks下创建scripts.js (js脚本构建)

(1)写好依赖项

 注:gulp-util是gulp 常用工具函数集合

gulp官方插件:https://gulpjs.com/plugins/


(2)下载依赖项


(3)构建脚本

注:loader改为babel-loader


3.创建pages.js (模板页面块构建脚本)


4.创建css.js(处理css构建脚本)


5.创建server.js ( 服务器构建脚本 )


三、让任务自动完成

要实现的目标:让原始文件自动编译到server执行目录中

(都放在tasks里面)

1.创建brower.js (浏览器监听相关文件)


2.创建clean.js (建立清空指定目录文件的任务)

原因:在执行上面的任务将es6转换成es5或者es3时,会将源文件拷贝编译再覆盖到目录文件中,安全起见需要在每次覆盖之前将原目录清空


3.创建build.js (定制执行顺序规则)

目的:将所有的gulp任务关联起来,定制执行顺序规则,server启动之前所有文件都应该编译完成


4.创建default.js

原因:命令行执行gulp时,后面不接任务名,就会默认执行default.js

这个任务必须要存在。


5.补充构建脚本需要的安装包

npm install babel-polyfill babel-register connect-livereload del gulp-live-server gulp-sequence require-dir --save-dev



全部依赖包:

四、测试

执行gulp --watch 监听文件

在浏览器出入服务端口号 localhost:3000,有效果证明成功


五、热更新

1.找到server下生成的app.js

找到这段代码

在中间写上

app.use(require('connect-livereload')());


注意安装依赖包

2.测试:

编辑器代码更改之后,浏览器不需要刷新直接就可以自动更新


最后:

注意:webpack新版本引用loader格式为

如果报错需要更改一下tasks/scripts.js文件


补充:指定下载插件某一版本

npm install webpack@1.15.0 --save-dev

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • *node下用express框架,实现一个简单的mvc *构建工具:gulp / babel / webpack ...
    韩娜爱吃辣_前端程序媛阅读 1,250评论 0 1
  • 安装Gulp首先需要安装Node.js,并在控制台输入$ npm install gulp -gMac端需要写成$...
    LaBaby_阅读 1,046评论 0 1
  • 对网站资源进行优化,并使用不同浏览器测试并不是网站设计过程中最有意思的部分,但是这个过程中的很多重复的任务能够使用...
    懵逼js阅读 1,205评论 0 8
  • 5月29日上午,在一曲优雅的手语舞《礼》的欣赏表演中,孟州市南庄镇南庄小学首届“成童礼”仪式拉开的帷幕。 ...
    孟州市南庄小学阅读 2,754评论 1 4
  • 游泳卡再不用真要作废了。 喜欢接近体温的水,不冰凉。 恐水的我照例头二百米紧张,四百五十米后才放松下来。 千米后收...
    周湘泉阅读 268评论 1 5

友情链接更多精彩内容