我是Node.js和Azure开发的新手,所以我可能会做一些愚蠢的事情。
我在Azure中创建了一个全新的Node.js网站应用。当我上传以下代码时,它可以工作:
var express = require("express");
var app = express();
app.use(function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.set('port', process.env.PORT || 8080);
app.get('/', function (req, res) {
res.json({ test: "test" });
});
app.listen(app.get('port'));
但是只要我在顶部添加这一行:
var sql = require("mssql");
我开始收到500个内部服务器错误。 Azure日志显示:
Fri Jun 23 2017 09:57:43 GMT + 0000(世界协调时间): 应用程序抛出了未捕获的异常并被终止: SyntaxError:在严格模式下使用const 。 在Module._compile(module.js:434:25) at Object..js(module.js:464:10) 在Module.load(module.js:353:31) 在Function._load(module.js:311:12) 在Module.require(module.js:359:17) at require(module.js:375:17) 在对象。 (d:\家\网站\ wwwroot的\ node_modules \ MSSQL \ index.js:1:80) 在Module._compile(module.js:446:26) at Object..js(module.js:464:10) 在Module.load(module.js:353:31)
代码不会在本地抛出错误。
我已经完成了一些谷歌搜索,我唯一能找到的是这可能是旧版Node.js的问题。我已经尝试在packages.json中添加要使用的节点版本应该大于6.0.0,但这似乎没有做任何事情。
请帮忙!
答案 0 :(得分:1)
您收到的信息是您无法使用:
var sql = require("mssql");
但
const sql = require("mssql");
这是因为您使用的是'strict mode';
。在文件的顶部,在javascript中,您使用'use strict';
要详细了解''使用严格&#39 ;;您可以在此处阅读:https://www.w3schools.com/js/js_strict.asp