为什么我在节点生产服务器构建上遇到语法错误而不是我的本地构建?

时间:2017-08-16 02:24:07

标签: node.js express

我希望你能帮助我。我是一个相当新的节点,我正在构建我的第一个节点应用程序。

我在node.js中构建了一个应用程序。它在本地运行时工作正常并且符合预期 当我试图在我们的内部生产服务器上运行它时,我收到一条错误消息。 error message in question

打开模板文字标记似乎有问题。有问题的文件采用简单的模块导出功能。我已经删除了一些代码以使其更易于阅读。见下文:



    exports.templateModule = function(markup, edmData) {
    var template = `<!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head></head>
    <body></body>
    </html>
    `;
    return template;
&#13;
&#13;
&#13;

我使用的是节点版本v6.11.0。

生产服务器在linux上运行。

下面的package.json文件有助于它。

{
  "name": "template",
  "version": "0.0.0",
  "description": "A simple tempate test.",
  "main": "app.js",
  "scripts": {
    "start": "node app.js"
  },
  "dependencies": {
    "ejs": "^2.5.6",
    "ejs-lint": "^0.3.0",
    "express": "4.15.2",
    "glob": "^7.1.2",
    "node-dev": "^3.1.3"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/heroku/node-js-getting-started"
  },
  "license": "MIT",
  "devDependencies": {
    "node-dev": "^3.1.3"
  }
}

如果可以的话,我会提供您需要的任何其他信息。

非常感谢任何帮助或见解  谢谢你  萌

1 个答案:

答案 0 :(得分:2)

NodeJS v4.0.0中添加了模板字符串。

  

Node.js v4.0.0 包含V8 v4.5,与今天Chrome网络浏览器一起发布的V8版本相同。
  这为Node.js用户带来了许多奖励,最值得一提的是大量新的ES6功能,默认启用包括块作用域,类,类型数组(Node&#39s的缓冲区现在由Uint8Array支持),生成器,Promises ,符号, 模板字符串 ,集合(地图,设置等),以及V8 v4.5的新功能,箭头功能。

如果您在生产服务器上使用旧版本的Node.js,请考虑将其升级到更新版本。