我想用Express和Body-parser设置服务器。 我做了:
npm init -y
在我的项目目录中。
然后:
npm install express body-parser --save
结果:package.json文件如下
{
"name": "myapp",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.18.2",
"express": "^4.16.2"
}
}
之后创建了index.js文件,我把这段代码放在了一起:
const express = require(‘express’);
const bodyParser = require(‘body-parser’);
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.listen(3000, () => console.log(‘Webhook server is listening, port 3000’));
并运行node index.js
我收到了这个错误:
(function(exports,require,module,__ filename,__ dirname){const express = require('express'); ^
SyntaxError:无效或意外的令牌 在createScript(vm.js:80:10) at Object.runInThisContext(vm.js:139:10) 在Module._compile(module.js:607:28) at Object.Module._extensions..js(module.js:654:10) 在Module.load(module.js:556:32) 在tryModuleLoad(module.js:499:12) 在Function.Module._load(module.js:491:3) 在Function.Module.runMain(module.js:684:10) 在启动时(bootstrap_node.js:187:16) 在bootstrap_node.js:608:3
问题是什么?我不明白,这是我第一次使用node.js
答案 0 :(得分:4)
将‘
和’
更改为单引号'
并且它可以正常工作:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.listen(3000, () => console.log('Webhook server is listening, port 3000'));
通过控制台运行:
$ node index.js
Webhook server is listening, port 3000
答案 1 :(得分:1)
您似乎使用了一些文本处理器(例如MS Word)而不是更简单的文本编辑器(例如Windows上可用的记事本或写字板) )或专门为程序员编写的编辑器(如Nodepad ++或Atom)。因为文本处理器没有意识到你正在编写一个编程代码,他们认为你正在写一篇普通的文章,以供人类阅读,所以他们会自动用智能引号'代替直引号'和'' '被视为node.js根本不是引号。所以带有单引号的相同代码实际上工作正常:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.listen(3000, () => console.log('Webhook server is listening, port 3000'));
我强烈建议使用适用于程序员的文本编辑器,尤其是Atom,它本身是在node.js中设计的,用于在node.js和相关技术(html,json,CSS)中编写应用程序。但是,如果您继续使用MS Word(我的版本是2010),则可以通过以下菜单将自动更正选项转换为智能引号:
文件↦选项↦校对↦自动更正选项...↦自动套用格式↦替换
和☑❏取消选中第一个选项。