系统配置
我想在纯js文件(没有 node_modules 文件夹)中发送es6 feature import import关键字
创建2个文件,如下面的内容
export const generateRandom = () => {
console.log('inside generate Random');
return Math.random();
};
import { generateRandom } from './export';
console.log(generateRandom());
从 check.js 点击F5并选择environmentnt> Node.js的
它在调试控制台选项卡中显示以下错误
/opt/parixan/import.js:1 (function (exports, require, module,
__filename, __dirname) { import { generateRandom } from './utility';
^^^^^^ SyntaxError: Unexpected token import
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Timeout.Module.runMain [as _onTimeout] (module.js:604:10)
at ontimeout (timers.js:386:11)
at tryOnTimeout (timers.js:250:5)
在崇高的文本中,我可以通过自定义的javascript构建系统运行相同的代码;但是我们如何在vs代码中运行相同的
以下是必要的文件
{
"env":
{
"browser": true,
"node": true,
"es6": true
},
"extends": "eslint:recommended",
"ecmaFeatures": {
"modules": true,
"spread": true,
"restParams": true
},
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module"
},
"globals":
{
"angular": true,
"module": true,
"inject": true,
"moment": true,
"saveAs": true,
"require": false
},
"rules":
{
"indent": [0, "tab"],
"linebreak-style": [0, "unix"],
"semi": [2, "always"],
"no-console": "off"
}
}
{
"compilerOptions": {
"target": "ES6",
"module": "commonjs"
}
}
答案 0 :(得分:0)
随着我的macOS更新,它停止了所有已安装的插件,例如babel-node。这就是为什么它停止编译具有最新es6语法的js文件的原因。这是解决问题的步骤
nvm istall node
npm install babel-cli -g
which babel-node
将提供可以使用的完整路径,但我们会babel-node
代替路径
现在使用以下步骤配置两个编辑器
打开vs代码中的用户设置,并将此行与其他设置一起添加
"code-runner.executorMap": {
"javascript": "babel-node"
}
现在选择文件并按选项+ control + N 运行代码并在控制台中查看输出
/ Users / {username} / Library / Application Support / Sublime Text 3 / Packages / User / node.sublime-build
{
"shell_cmd": "babel-node ${file}",
"selector": "source.js"
}