簡體   English   中英

如何防止PM2更改當前目錄?

[英]How to prevent PM2 to change the current directory?

即時通訊使用PM2來處理我的微的NodeJS服務和快遞車把處理意見:

var hbs = exphbs.create({
  defaultLayout: 'main',
  helpers: {
    ifeq: function(a, b, options) {
      if (a === b) {
        return options.fn(this);
      }
      return options.inverse(this);
    },
    toJSON : function(object) {
      return JSON.stringify(object);
    }
  }
});

app.engine('handlebars', hbs.engine);
app.set('view engine', 'handlebars');

直接啟動應用程序(節點app.js)非常有用。 但如果我使用PM2(pm2 start app.js)午餐,我會得到:

錯誤:無法在視圖目錄“/ root / views”中查找視圖“home”

午餐時pm2當前工作目錄更改為/ root /並且由於我的應用程序不在那里,我從車把試圖打開視圖目錄(位於app目錄中)收到錯誤。

有沒有辦法通過告訴pm2當前工作目錄或通過告訴express-handlebars庫完整目錄而不是使用相對目錄來解決這個問題?

我使用Koa和SWIG作為模板 - 但我需要在應用程序設置中包含視圖的路徑:

app.use(koaRender('./server/server-side-views', {
        map: { html: 'swig' },
        cache: false
}));

我懷疑你的情況更為相似。 我認為在快遞中你的代碼應該是這樣的:

app.engine('handlebars', hbs.engine);
app.set('view engine', 'handlebars');
app.set('views', __dirname + '/yourViewDirectory');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM