nodemon 在js文件变化后悔重新运行程序,在 package.json 的 scripts 中添加:
nodemon还有许多可选配置,具体参阅 nodemon文档
以koa为例
如若想要将错误抛出到浏览器页面和美化错误页面, express 可用 express-error-handler , koa 可用 onerror
由于是后台模板渲染,所以没法用 webpack-dev-server 进行自动刷新。能做的就是利用 webpack 的 watch 在前端js改变后自动打包,当然还是免不了手动刷新
注意一定要开启 source-map ,不然无法定位报错位置。为通知 webpack 是生产还是开发环境,可以使用 cross-env ,然后在 package.json 的 scripts 中添加:
开发时应运行两个命令:
生产环境一般使用 pm2 , pm2 已经帮我们完成了进程守护和负载均衡,内部实现原理在此不再赘述,具体参考 pm2文档 。
生成的配置文件已包含了生产环境的基本本质。跟多配置请参考 pm2文档 ,在 package.json 文件的 scripts 中添加
生产环境下运行
这时我们可以通过 process 全局变量获取到环境状态,在 app.js 中添加
类似 nginx 的 access.log 和 error.log ,利用 fs 模块的 appendFile 方法来输出日志。首先在项目根目录下新建文件夹 logs
建立一个模板命名为 notFound.pug ,在路由之后渲染
在webpack中添加插件
发布应用时需运行
后台程序是指asp、php、jsp或者asp.net等。后台程序代码与前台html和前端js脚本代码放在同一个页面,服务器会首先解析和执行后台脚本代码,然后把执行结果与html和js一并发送到客户端的浏览器,然后浏览器会渲染html页面并执行其中的前端js脚本代码。因此后台程序可以把结果嵌入到前端脚本中,然后在浏览器中被前端脚本调用。
下面用一个简单的例子(用的是ASP):
//这是一个简单的js脚本,不含任何后台代码:<script>
alert(1+2) //这个1+2是在前端进行计算的,与后台无任何关系
</script> //这个则是一个包含后台程序的js脚本(<%和%>之间的内容就是后台代码):
<script>
alert(<%=1+2%>) //这个1+2的计算就是在后台完成的,就相当于 alert(3)
</script> //也可以把计算过程做成一个函数或者方法:
<script>
alert(<%=plus()%>) //这个plus就是下面这个函数
</script>
<%
function plus() '这个函数把1+2的计算结果再返回到上面
plus=1+2
end function
%>
其他语言的实现原理也是大同小异的。
Node.js 生态很活跃的啊,为什么就这么难招人?
JavaScript 语言规范都到 2017 了, Node.js 版本也到 v7.7 了,正是无数专家学者,大公司,小公司和个人共同在推进这个开放的生态。 Teambition 作为一个创业公司,基于 Node.js 构建了我们的后端体系。我们从这个生态中受益良多,也在努力回馈这个生态。
Node.js 也很容易学啊,为什么就这么难招人?
JS 包括 Node.js 很容易学成上手。遥想 12 年时我就从零学起,半年时间就用 Node.js 和 AngularJS 做出了一套开源社区系统,至今还在运行。一般认为写 Node.js 的都是从前端转的,或者是后端新人,后端老手应该是不屑于 Node.js 的,这点我也认同。我本人前端、后端、 JS 、 Golang 、 Rust 都有写,目前主要在用 Golang 写后端, Node.js 相关的项目也在继续推进。 Node.js 的优点是容易学容易出成果,因为它的开源生态好,很多东西拿来即用,想深入学习则直接看项目源码造轮子。缺点就是当项目足够庞大足够复杂了不太好维护。所以我认为 Node.js 是一门非常好的后端入门语言,也非常适合用来开发轻量级的应用服务。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)