当前位置: 首页 > 后端技术 > Node.js

手把手教你webpack、react、node.js环境配置(下篇)

时间:2023-04-03 20:41:28 Node.js

第一篇介绍了前端下webpack、react、redux等环境的配置。本文将继续关注后台node.js的配置。这里是之前的链接:手把手教你webpack、react和node.js环境配置(上)所有代码我都放在我的github上:webpack-react-express环境配置服务器后台配置简单很多,我用的express框架node.js在这里配置。expressExpress是一个基于Node.js平台的极简灵活的Web应用程序开发框架,它提供了一系列强大的功能来帮助您创建各种Web和移动设备应用程序。安装expressnpminstallexpress--save这里推荐一个express应用生成器,它会自动帮你生成express项目的目录。npminstallexpress-generator-g所以这里我们删除之前创建的server文件夹,然后使用express自动生成。rm-rfserver&&expressserver让我们删除自动生成的不需要的目录。rm-rfviews&&public这时候你会发现server目录下还有一个package.json文件。这个文件存放了express需要的依赖。我们可以把里面的内容合并到外面的package.json里然后删除,然后别忘了使用npminstall重新安装里面的模块。我们打开app.js文件,发现里面已经写好了代码,但是代码并不能完全满足我们的需求。比如我们不想用jade或者ejs模板引擎,想用前后端分离的开发方式,只想渲染一个html,就需要修改代码。因为要用到ejs的一个功能,所以先安装ejs。//自动生成的代码app.set('views',path.join(__dirname,'views'));//设置模板路径app.set('viewengine','jade');app.use(express.static(path.join(__dirname,'public')));//我们修改后的app.set('views',path.join(__dirname,'../client/dist'));应用程序。set('视图引擎','html');//将模板设置为htmlapp.engine('html',ejs.renderFile);app.use(express.static(path.join(__dirname,'../client/dist')));然后我们删除自动生成的路由信息??,改成我们的://deletethesevarindex=require('./routes/index');varusers=require('./routes/users');app.use('/',index);app.use('/users',users);//然后添加varport=4000;app.all("*",function(req,res){res.render("index");})app.listen(port,function(){console.log("服务器在端口4000上运行");});这个时候我们只需要输入nodeapp.js就可以运行了。但是这还没完,难道我们每次运行node都要去server目录下吗?我用的不是新版node,想用es6语法怎么办?在express中使用es2015,还记得上一篇我们单独提取了一个.babelrc文件吗?转码规则在这里面设置好了,babel-cli自带babel-node命令,可以在node环境下运行es6语法。在开始之前,先看一下nodemon,它可以让node自动重启,而不需要我们每次都手动重启node。npminstallnodemon-g和node的用法一样,我们可以直接打开nodemonapp.js启动node服务,修改node代码后会自动重启node。我们需要修改package.json文件,在scripts属性中添加start属性,添加如下代码:"scripts":{"test":"echo\"Error:notestspecified\"&&exit1","start":"nodemon./server/app.js--execbabel-node"},修改代码为es6语法:此时我们不仅可以使用express中最新的es语法,也可以直接使用npmstart命令启动节点服务。