作为一个全栈开发,近期一个小项目的需求是要做前后分离的项目,最简单的静态页面+后端接口,感觉是很low的,所以 有必要搭建node服务前端项目,虽然做的项目是这样的,框架,还是的自己搭建下!
1,基本环境,node按照,npm安装
2,https://www.expressjs.com.cn/ expressjs的官方可以一步一体验
个人喜欢vs code所以,使用 vs code 的终端来写命令,用cmd 也是一样的
A,新建一个文件夹,用来存放自己的项目,同时检查环境配置
B,根据官方操作操作执行
npx express-generator
得到以下文件
这里更改一下端口号,3000被占用,我先用别的
C,使用命令,按照npm
npm install
D,接下来启动服务
npm start
到这里项目就搭建成功了!接下来开始处理一些问题
框架默认使用的视图引擎是 jade ,对应的文件是 .jade的,里面使用的语法不熟悉,我个人更加喜欢使用html的页面,所以使用 ejs的视图引擎
安装ejs
npm install ejs
修改app.js的视图引擎部分
// view engine setup
app.set('views', path.join(__dirname, 'views'));
// app.set('view engine', 'jade');
var ejs = require('ejs'); //引入的ejs插件
app.engine('html', ejs.__express);
app.set('view engine', 'html');
添加页面
启动,查看效果
接下来还需要配置一下动态路由,在Index.js文件中,把路由改为如下代码
对于里面不熟的东西,自行去查api
/* GET home page. */
router.get('/*', function(req, res, next) {
// 获取url地址
var url = req.originalUrl.toString() ;
var end = url.lastIndexOf('?') - 1 ;
if(end < 0) end = url.length ;
var address = url.substr(1,end) ;
var resParam={ "aa":123}; //这里的参数可以配置一些初始加载
res.render(address, resParam) ;
});
测试一下,在view中添加了page/index的文件,重启服务
效果如图
到这基本搭建就完成了,对于实战的项目,还有地方需要设置,如参数传递,配置文件读取,中间件渲染,等等后面在写上去!
欢迎交流!