我有一个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 {
关于如何解决此问题的任何想法?