我必须修改基本Node.js文件上的代码才能使其工作,我想知道为什么?
这失败了:
const server = http.createServer((req, res) => {
这有效:
var server = http.createServer(function(req, res){
错误:
/my-app/tmp/hello2.js:6 var server = http.createServer((req,res)=> {^ SyntaxError:Module._compile中的意外标记>(module.js:439:25 )在函数的Function.Module._load(module.js:312:12)的Module.load(module.js:356:32)处的Object.Module._extensions..js(module.js:474:10)处。 Module.runMain(module.js:497:10)在node.js启动时(node.js:119:16):945:3
完整代码
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
//const server = http.createServer((req, res) => {
// above *wont work*?? below works
var server = http.createServer(function(req, res){
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
// server.listen(port, hostname, () => {
// above *wont work*?? below works
server.listen(port, hostname, function() {
console.log(`Server running at http://${hostname}:${port}/`);
});
答案 0 :(得分:1)
这是因为你的Node.js不支持ES6的标准功能
两种解决方案
您必须编辑package.json
android:focusableInTouchMode="true"
并运行<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical"
android:focusableInTouchMode="true">
...
<EditText
android:id="@+id/editText"
android:layout_width="100dp"
android:layout_height="wrap_content" />
...
</LinearLayout>
更新您的Node.js
{
"dependencies": {
"babel-cli": "^6.0.0",
"babel-preset-es2015": "^6.0.0"
},
"scripts": {
"start": "babel-node --presets es2015 app.js"
}
}