当前位置: 首页 > 知识库问答 >
问题:

ES6:意外的令牌导入

阮飞翔
2023-03-14

在设置Javascript Dev环境时,我遇到了以下错误。

我想使用import代替要求

npm install babel-register babel-preset-env --save-dev

我用了巴别塔。

 import express from 'express';
                                                              ^^^^^^

SyntaxError: Unexpected token import
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:617:28)
    at loader (D:\firstapp\node_modules\babel-register\lib\node.js:144:5)
    at Object.require.extensions.(anonymous function) [as .js] (D:\firstapp\node_modules\babel-register\lib\node.js:154:7)

我从以下方法尝试了许多解决方案,但是,不起作用或我。

节点错误:语法错误:意外的令牌导入

Node.js -语法错误:意外的标记导入

srcServer.js

import express from 'express';
import path from 'path';
import open from 'open';
import webpack from 'webpack';
import config from '../webpack.config.babel.js';

const port = 3000;
const app = express();
const compiler = webpack(config);

app.use(require('webpack-dev-middleware')(compiler, {
  noInfo: true,
  publicPath: config.output.publicPath
}));

app.get('/', function(req, res) {
    res.sendFile(path.join(__dirname, '../src/index.html'));
});

app.listen(port, function(err) {
    if (err) {
        console.log(err);
    } else {
        open('http://localhost:' + port);
    }
});

。巴伯尔克

{
  "presets": ["@babel/preset-env"]
}

共有1个答案

束福
2023-03-14

最后我找到了解决办法。我在根文件夹上创建了.babelrc文件,内容如下。

{
    "presets": ["latest"]
}

然后< code>npm install和< code>npm start -s为我工作。

如果任何人有问题,我在这里张贴我的所有文件。

工具/服务器.js

import express from 'express';
import path from 'path';
import open from 'open';
import webpack from 'webpack';
import config from '../webpack.config.dev.js';

const port = 3000;
const app = express();
const compiler = webpack(config);

app.use(require('webpack-dev-middleware')(compiler, {
  noInfo: true,
  publicPath: config.output.publicPath
}));

app.get('/', function(req, res) {
    res.sendFile(path.join(__dirname, '../src/index.html'));
});

app.listen(port, function(err) {
    if (err) {
        console.log(err);
    } else {
        open('http://localhost:' + port);
    }
});

webpack.config.dev.js包

import path from 'path';

export default {
  debug: true,
  devtool: 'inline-source-map',
  noInfo: false,
  entry: [
    path.resolve(__dirname, 'src/index')
  ],
  target: 'web',
  output: {
    path: path.resolve(__dirname, 'src'),
    publicPath: '/',
    filename: 'bundle.js'
  },
  plugins: [],
  module: {
    loaders: [
      {test: /\.js$/, exclude: /node_modules/, loaders: ['babel']},
      {test: /\.css$/, loaders: ['style','css']}
    ]
  }
}

打包.json

{
  "name": "firstapp",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "npm-run-all --parallel open-src",
    "open-src": "babel-node tools/srcServer.js"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-cli": "^6.26.0",
    "babel-core": "^6.17.0",
    "babel-loader": "6.2.5",
    "babel-preset-env": "^1.7.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-latest": "^6.16.0",
    "babel-register": "^6.16.3",
    "chai": "3.5.0",
    "chalk": "1.1.3",
    "cheerio": "0.22.0",
    "compression": "^1.7.3",
    "cross-env": "3.1.3",
    "css-loader": "0.25.0",
    "eslint": "3.8.1",
    "eslint-plugin-import": "^2.14.0",
    "eslint-watch": "2.1.14",
    "express": "^4.16.4",
    "extract-text-webpack-plugin": "1.0.1",
    "file-loader": "^2.0.0",
    "html-webpack-plugin": "2.22.0",
    "image-webpack-loader": "^4.3.1",
    "jsdom": "9.8.0",
    "json-schema-faker": "^0.4.7",
    "json-server": "^0.14.0",
    "localtunnel": "^1.9.1",
    "mocha": "3.1.2",
    "nock": "8.1.0",
    "npm-run-all": "3.1.1",
    "nsp": "2.6.2",
    "numeral": "1.5.3",
    "open": "0.0.5",
    "rimraf": "2.5.4",
    "style-loader": "0.13.1",
    "webpack": "1.13.2",
    "webpack-dev-middleware": "1.8.4",
    "webpack-hot-middleware": "2.13.0",
    "webpack-md5-hash": "0.0.5"
  },
  "dependencies": {
    "add": "^2.0.6"
  }
}
 类似资料:
  • 我正在尝试用我的网页包项目设置Jest。当我运行测试时,Jest抱怨它无法读取es6代码。巴贝尔似乎没有转换我的测试文件。 我尝试过在互联网上找到的各种解决方案,但我仍然感到困惑。也许有人有更多的巴别塔/网页包知识,可以看看我的配置,帮助我。 相关package.json脚本: 有关package.json: 配置/webpack.config.js: config/jest.config.js

  • 我已经为连接的组件创建了测试。在一个文件中,我导入位于项目根文件夹外部的“本地化”模块。它没有被编译到ES5,Jest报告了同步错误:意外令牌导出。如何强制Jest转换该文件? 我有。带环境预设的巴别LRC。 package.json

  • 问题内容: 我不明白怎么了。节点v5.6.0 NPM v3.10.6 代码: 错误: 问题答案: 更新3: 从Node 13开始 ,您可以使用.mjs扩展名,也可以在package.json中设置“ type”:“ module”。你 并不 需要使用标志。 更新2: 从Node 12开始 ,您可以使用扩展名,也可以在package.json中进行设置。并且您需要运行带有标志的节点。 更新: 在节点

  • 我开始了一个新的反应项目,我想使用笑话作为测试平台。尽管有文档、博客和许多其他资源,如stackoverflow,我总是有一个“意外令牌导入”错误,可能与巴贝尔问题有关,但我的conf似乎还不错。欢迎任何帮助。 我的Jest配置文件(在package.json中)。My package.json具有类似babel jest、babel-preset-es2015、babel preset reac

  • 我正在学习反应,我想测试我的一个组件,但我坚持这个错误: 以下是我在阅读stackoverflow和github上的帖子时尝试过的一些东西 添加了测试预设和这些插件“变换-es2015-moids-Common js”、动态导入节点”到我的babel配置 在我的包裹里。json Jest属性具有以下设置: 我的实际组件是用ES6和typescript构建的,如果这对您有帮助的话:) 从我所读到的内

  • 我不明白怎么了。节点V5.6.0 NPM V3.10.6 代码: 错误: