从非ES6 js文件中的Vue应用程序导入ES6模块

时间:2019-05-31 10:46:46

标签: node.js ecmascript-6 es6-modules

我有一个Vue应用程序,其中包含一堆使用ES6导出的常量文件。

就在Vue应用程序目录之外,我有一个/ scripts目录,其中包含许多CI / CD将使用的脚本。其中有些用Ruby编写(对后端文件运行检查),有些用Node编写(对前端文件运行检查)。

我现在在非ES6环境中导入ES6模块时遇到问题。我以为使用Babel可以轻松导入所有内容,但这是行不通的。

这是我的package.json的样子:

{
  "name": "node",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "babel notification_integrity_checker/index.js -d dist",
    "start": "npm run build && node dist/index.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/cli": "^7.4.4",
    "@babel/core": "^7.4.5",
    "@babel/preset-env": "^7.4.5"
  }
}

这是我的.babelrc

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

这是我的notification_integrity_checker / index.js

import { NOTIFICATIONS_TO_ROUTES } from '../../../app/src/app/data/notifications_routes';

console.log(NOTIFICATIONS_TO_ROUTES);

Babel会在/ dist目录中正确编译此文件,但是,导入ES6模块时仍然出现错误:

(function (exports, require, module, __filename, __dirname) { import { ROUTES_CUSTOMERS, ROUTES_EMPLOYEES, ROUTES_SUPPLIEES } from '@/app/data/route_constants';
                                                                     ^

SyntaxError: Unexpected token {

关于如何解决此问题的任何想法?

0 个答案:

没有答案