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

node+ejs项目打包

时间:2023-04-03 14:01:43 Node.js

之前遇到过一个简单的项目,基本都是静态页面,但是需要支持seo,而且基本上所有的信息都是在后台配置生成的,所以就用了node+ejs这种比较传统的方式,把整个过程记录下来这里需要的原材料:node+ejs+express+jquery生成基础文件夹npminstallexpressexpress-generator-g//express-emyapp如果已经安装则忽略//使用express-generator快速生成项目进入项目文件夹并安装基本依赖包,启动项目cdmyappnpminstallnpmstart最后得到一个这样的文件夹请注意:error.ejs必须存在,不能删除;项目必须有一个容纳错误显示的页面ps:app.js中有app.use(express.static(path.join(__dirname,'public')));指定静态资源,所以页面中的资源文件,比如图片的引用,都是/images/a.png;项目结束时打包上线,因为之前没遇到过这种情况,用的是vue+webpack的搬砖模式。遇到这个东西的时候,我正在摸着石头过河。找了半天,找到了一个pkg打包工具。该工具可以将node项目打包成一个独立于node运行的可执行文件,默认可以支持3个平台,linux、macos、windows;下面介绍打包步骤(请注意,如果你有更好的方法,请不要使用这种方法,如果有更好的方法,希望你能给我建议)这里有一篇更好的文章使用pkg打包节点应用程序。如果打包后遇到文件丢失等问题,请查看打包资源配置的配置是否有问题。我就是这种情况。配置好了如果你的打包过程顺利的话,你会得到3个文件,分别对应3个平台的可执行文件,然后把这3个文件放到server下,然后配置serverpm2.pm2把你的程序挂在里面执行后台,还有很多其他的功能。如果您还没有安装pm2,请安装它。启动服务并进入您的项目存储目录。(这里假设你的项目叫app。)如果遇到没有权限执行的报错,只要在当前目录下执行chmod777app获取权限,获取权限后执行pm2app,如果成功,会得到启动信息;域名,代理配置下面其实只是代理转发,使用nginx做代理服务器{听80;字符集utf-8;服务器名称www.xsxs.com;位置/{proxy_passhttp://localhost:3000;#端口号proxy_set_headerHost$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;}}

猜你喜欢