【问题标题】:How to reload the project in nodejs after modifiying修改后如何在node js中重新加载项目
【发布时间】:2018-06-07 17:03:59
【问题描述】:

我是 nodejs 的新手,每次创建项目时,在使用 twig、jade 或 ejs 模板引擎时,我都必须在修改 html 文件后重新启动服务器。 关于如何使更改显示在浏览器上的任何想法,而无需每次都重新启动服务器。

这是 server.js:

var express=require('express');
var bodyParser=require('body-parser');
var path=require('path');
var twig=require('twig');

var app=express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:false}));
app.use(express.static(path.join(__dirname,'public')));
app.set('view engine','twig');
app.set('twig options',{strict_variables:false});
app.set('views',path.join(__dirname,'views'));


 
app.get('/',function(req,res){
    res.render('index.twig',{message:'test'});
});

app.listen(3000,function(){
    console.log('Server started and listening on port 3000 ... ')
});

我使用 twig 作为视图引擎

views/index.twig :

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    {{ message }}
</body>
</html>

我也使用 nodemon 我也尝试过使用 supervisor ,两者都没有改变

【问题讨论】:

  • 当文件改变时使用nodemon重新加载服务器。
  • 谢谢,我实际上正在这样做,但它在 dev-env 中没有帮助我正在寻找的是让服务器动态加载更改而无需每次都重新启动
  • 当你修改一个文件时,你必须保存你修改过的文件。否则 nodemon 不会检测到文件
  • 在生产环境中观看/重新加载文件会对您的性能产​​生不利影响 - 您不应该这样做。

标签: javascript node.js express twig nodemon


【解决方案1】:

使用 nodemon npm 模块并在您进行更改后重新加载您的项目。

全局安装nodemon

$ npm install -g nodemon

安装nodemon作为开发依赖

$ npm install --save-dev nodemon

$ cd [project path] // ex: myapp

$ nodemon [your node app] // nodemon ./server.js

【讨论】:

  • 我知道,但问题是我使用 Twig 作为模板引擎,默认情况下使用 Twig 缓存模板,每次编辑后必须重新启动服务器才能在浏览器上看到更新,所以解决方案是禁用缓存:twig.cache(false)
【解决方案2】:

要解决这个问题,您可以像这样使用 nodemon

 nodemon -e .js,.twig app.js 

您还可以在根文件夹中创建 nodemon.json 并添加此配置:

{ "ext": "js,twig,mjs,json" }

【讨论】:

    猜你喜欢
    • 2012-02-04
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 2020-09-23
    • 2018-04-24
    • 2018-07-02
    • 1970-01-01
    相关资源
    最近更新 更多