教你使用gulp搭建一个react本地服务器环境
2017-05-26 10:23
525 查看
http://blog.sina.com.cn/s/blog_65042a230102wnvb.html
这几天着手学习react开发,在第一步的搭建环境稍微遇到了一些难题,不过幸好花了一天半总算是解决了这一个难题,这里分享一下。
注意:这个教程需要使用Nodejs,http://blog.sina.com.cn/s/blog_65042a230102wnvb.html没有安装的同学请先自行安装。
首先确定一下我们的环境需要哪些功能?
第一:可以完美运行react代码(废话)
第二:在修改代码的同时,代码自动更新,浏览器自动刷新(需要安装RemoteLiveReload这个浏览器插件)
第三:利用browserify合并js文件,并且转换代码使react能够被浏览器解析。
首先,我们需要先创建一个NODEJS的环境,首先找个合适的位置创建一个文件夹,打开命令提示符(建议使用管理员身份打开),cd 你的路径,输入npm init,填写相关信息。
接下来,我们需要安装本次的主角,如下
npm install -g gulp(搭建环境必须的东西)
npm install glup --save-dev
npm install -g browserify(用于requireJS,达成模块化)
(-g代表全局安装gulp)
接下来,安装一些第三方包(详细方法稍后介绍)
npm install --save -dev gulp-connect (用于启动Web服务器)
npm install --save -dev babelify(用于解析ES2015,React语法)
npm install --save -dev vinyl-source-stream (用于将browserify输出的数据转换为符合gulp标准的数据)
然后安装babelify需要的预设
npm install --save -dev babel-preset-es2015
npm install --save -dev babel-preset-react
这里使用的gulp方法主要有:task watch dest,不熟悉的朋也可以花十五分钟去gulp的中文官网查看API。
安装完这些需要的东西后,我们开始创建 gulpfile.js 文件,这是一个执行gulp命令自动执行的文件,文件名必须是这个(大概)。
引用我们刚刚安装的包、设置端口并赋值给变量
var gulp=require("gulp"),
browserify=require("browserify"),
connect=require("gulp-connect"),
babelify=require("babelify"),
source=require("vinyl-source-stream"),
port=process.env.port || 5000;
接下来,我们来创建一个监听的任务,利用watch检测改动的文件。(watch的第二个参数是我们后面创建的task,暂时不需要管)
gulp.task("watch",function(){
gulp.watch(["你的html路径"],["html"]);
gulp.watch(["你的js文件路径"],["js"]);//(比如这样:["./app/*.js"])
gulp.watch(["你的css文件路径"],["css"]);
gulp.watch([""你的js文件路径],["browserify"]);
})
这段代码表示,监听你所设定的文件,然后执行后面的任务,很好理解吧。
接下来我们写connect的任务,这个功能自然是创建web服务器啦。
gulp.task("connect",function(){
connect.server({
root:'./',
port:port,//开头我们设置的port
livereload:true;//使用自动刷新
});
});
很短吧,就是这样。我们接下来写html,js,css这三个任务。
gulp.task("html",function(){
gulp.src("你的html路径").pipe(connect.reload());
});
//要注意的是,这个js文件是通过browserify合并的js文件的路径!当然browserify的任务我们后面才会写
gulp.task("js",function(){
gulp.src("你合并后的js路径").pipe(connect.reload());
});
gulp.task("css",function(){
gulp.src("你的css路径").pipe(connect.reload());
});
connect.reload()的作用就是重新加载这个文件啦.
接下来就是最重要的部分,解析合并生成!
gulp.task("browserify",function(){
browserify("你合并前的JS文件的路径").transform(babelify,{
presets:['es2015','react']
}).bundle().pipe(source("bundle.js")).pipe(gulp.dest("你合并后的js的文件所存放的路径"))
});
使用browserify方法处理你所要处理的js,然后使用transform方法解析。
第一个参数为之前设定的babelify,第二个参数为之前安装的两个预设包。
使用browserify的bundle()方法对文件进行打包,然后使用Nodejs的pipe方法将文件转到source方法,让它将这个js文件转为适合gulp的文件。
再使用pipe方法将文件转到gulp.dest方法,输出这个合并好的js文件。
好长,慢慢理解吧ww。
最后就是一些收尾的代码了。
设定默认的任务指令
gulp.task("default",["browserify"]);
设定你启动上述任务的代码(平常我们就使用这个)
gulp.task("server(按你喜好取名字就好)",["browserify","conncet","watch"]);
最后你可以试试在命令指令行输入 gulp server,这样服务器就启动成功了!当然要看到效果,首先你要写一些react代码啦,这里就不多说了,赶紧动手试吧。
这几天着手学习react开发,在第一步的搭建环境稍微遇到了一些难题,不过幸好花了一天半总算是解决了这一个难题,这里分享一下。
注意:这个教程需要使用Nodejs,http://blog.sina.com.cn/s/blog_65042a230102wnvb.html没有安装的同学请先自行安装。
首先确定一下我们的环境需要哪些功能?
第一:可以完美运行react代码(废话)
第二:在修改代码的同时,代码自动更新,浏览器自动刷新(需要安装RemoteLiveReload这个浏览器插件)
第三:利用browserify合并js文件,并且转换代码使react能够被浏览器解析。
首先,我们需要先创建一个NODEJS的环境,首先找个合适的位置创建一个文件夹,打开命令提示符(建议使用管理员身份打开),cd 你的路径,输入npm init,填写相关信息。
接下来,我们需要安装本次的主角,如下
npm install -g gulp(搭建环境必须的东西)
npm install glup --save-dev
npm install -g browserify(用于requireJS,达成模块化)
(-g代表全局安装gulp)
接下来,安装一些第三方包(详细方法稍后介绍)
npm install --save -dev gulp-connect (用于启动Web服务器)
npm install --save -dev babelify(用于解析ES2015,React语法)
npm install --save -dev vinyl-source-stream (用于将browserify输出的数据转换为符合gulp标准的数据)
然后安装babelify需要的预设
npm install --save -dev babel-preset-es2015
npm install --save -dev babel-preset-react
这里使用的gulp方法主要有:task watch dest,不熟悉的朋也可以花十五分钟去gulp的中文官网查看API。
安装完这些需要的东西后,我们开始创建 gulpfile.js 文件,这是一个执行gulp命令自动执行的文件,文件名必须是这个(大概)。
引用我们刚刚安装的包、设置端口并赋值给变量
var gulp=require("gulp"),
browserify=require("browserify"),
connect=require("gulp-connect"),
babelify=require("babelify"),
source=require("vinyl-source-stream"),
port=process.env.port || 5000;
接下来,我们来创建一个监听的任务,利用watch检测改动的文件。(watch的第二个参数是我们后面创建的task,暂时不需要管)
gulp.task("watch",function(){
gulp.watch(["你的html路径"],["html"]);
gulp.watch(["你的js文件路径"],["js"]);//(比如这样:["./app/*.js"])
gulp.watch(["你的css文件路径"],["css"]);
gulp.watch([""你的js文件路径],["browserify"]);
})
这段代码表示,监听你所设定的文件,然后执行后面的任务,很好理解吧。
接下来我们写connect的任务,这个功能自然是创建web服务器啦。
gulp.task("connect",function(){
connect.server({
root:'./',
port:port,//开头我们设置的port
livereload:true;//使用自动刷新
});
});
很短吧,就是这样。我们接下来写html,js,css这三个任务。
gulp.task("html",function(){
gulp.src("你的html路径").pipe(connect.reload());
});
//要注意的是,这个js文件是通过browserify合并的js文件的路径!当然browserify的任务我们后面才会写
gulp.task("js",function(){
gulp.src("你合并后的js路径").pipe(connect.reload());
});
gulp.task("css",function(){
gulp.src("你的css路径").pipe(connect.reload());
});
connect.reload()的作用就是重新加载这个文件啦.
接下来就是最重要的部分,解析合并生成!
gulp.task("browserify",function(){
browserify("你合并前的JS文件的路径").transform(babelify,{
presets:['es2015','react']
}).bundle().pipe(source("bundle.js")).pipe(gulp.dest("你合并后的js的文件所存放的路径"))
});
使用browserify方法处理你所要处理的js,然后使用transform方法解析。
第一个参数为之前设定的babelify,第二个参数为之前安装的两个预设包。
使用browserify的bundle()方法对文件进行打包,然后使用Nodejs的pipe方法将文件转到source方法,让它将这个js文件转为适合gulp的文件。
再使用pipe方法将文件转到gulp.dest方法,输出这个合并好的js文件。
好长,慢慢理解吧ww。
最后就是一些收尾的代码了。
设定默认的任务指令
gulp.task("default",["browserify"]);
设定你启动上述任务的代码(平常我们就使用这个)
gulp.task("server(按你喜好取名字就好)",["browserify","conncet","watch"]);
最后你可以试试在命令指令行输入 gulp server,这样服务器就启动成功了!当然要看到效果,首先你要写一些react代码啦,这里就不多说了,赶紧动手试吧。
相关文章推荐
- 使用gulp搭建本地服务器并实现模拟ajax
- 使用自己电脑搭建一个外网可以访问的服务器tomcat本地搭建
- 建立一个node.js服务器(使用express搭建第一个Web环境)
- 使用Nodejs快速搭建一个的本地静态文件服务器
- 使用gulp进行简易react环境搭建(适合写demo用)
- 使用node.js搭建一个简单的本地服务器
- 【环境搭建】SVN服务器的本地搭建和使用
- 【node.js】使用node.js搭建一个本地web服务器
- 使用Gulp搭建本地开发web服务器及自动刷新
- 如果在本地搭一个服务器和mysql数据库环境,如果使用java来访问数据库
- 关于怎么让多个程序搭建在一个服务器上,搭建一个适合与架构师使用的开发与实现环境
- 使用virtualbox搭建一个实用的开发环境
- MyEclipse6.5中搭建Web环境(使用Tomcat6.0服务器)
- Linux 使用光盘搭建 本地 YUM 服务器
- 使用tomcat 来搭建本地服务器 ,使用Android 客户端(真机)通过浏览器访问
- Linux 使用光盘搭建 本地 YUM 服务器
- DNS浅析-Bind软件的使用及搭建一个简单的DNS缓存服务器
- 如何使用Openshit开发项目和本地环境搭建
- Linux 使用光盘搭建 本地 YUM 服务器
- ubuntu服务器或者虚拟机环境搭建及使用