使用express和body-parser

时间:2018-01-28 12:53:03

标签: node.js express

我想用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

2 个答案:

答案 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),则可以通过以下菜单将自动更正选项转换为智能引号:

文件↦选项↦校对↦自动更正选项...↦自动套用格式↦替换

和☑❏取消选中第一个选项。