我已经设置了具有以下结构的节点项目
--Dockerfile
--package.json
--node_modules
--src
--index.js
我已将package.json启动脚本设置为
"start": "node src/index.js",
这是我的index.js
require('babel/register');
require('./server.js');
import express from 'express';
let app = express();
let PORT = 3001;
app.post('/', (req, res) => {
res.send('Hello!');
});
let server = app.listen(PORT, function () {
let host = server.address().address;
let port = server.address().port;
console.log('listening at http://%s:%s', host, port);
});
我得到的错误是
SyntaxError: Unexpected token import
at createScript (vm.js:80:10)
答案 0 :(得分:0)
从np安装软件包时,请使用参数--save
ex:如果您安装Express
使用
npm install express --save
所以您的package.json将包含新添加的包
安装有进口用途:
var express = require('express');
var app = express();
解决以下问题的步骤:
require('babel/register');
在start.js中,
require('babel/register');
module.exports = require('./server.js');
结果是,server.js中的所有代码都将被寄存器动态转译。请确保您已使用.babelrc正确配置babel,其内容如下所示:
{
"presets": ["es2015", "stage-0"]
}
答案 1 :(得分:0)
dd($test->toArray());
npm install --save-dev babel-cli babel-preset-latest
echo '{ "presets": ["es2015"] }' > .babelrc
答案 2 :(得分:0)
您不能在调用let testInsert = {
ID:1,
username:'test_user',
full_name:'test_full'
};
let test = new Test(testInsert);
test.save(err => {
if(err){
console.log(err);
} else{
console.log('insert')
}
});
的同一文件中使用转译。您应该将babel-register
中的import
语句更改为index.js
或添加导入声明到另一个文件,并在const express = require('express')
之后的index.js
中要求它。请注意,babel-register
仅在随后的babel-register
文件中转储代码,而不在同一文件中转储代码。有关更多信息,请参见https://babeljs.io/docs/usage/babel-register/