我正在使用节点v6.0.0,并想使用ES2016(ES6)。但是我意识到“导入”语法不起作用。“导入”不是ES2015中编写模块化代码的基础吗?我也尝试使用--harmony_modules
option
运行节点,但仍然遇到与“导入”相同的错误。这是代码。
没有“导入”的工作代码:
'use strict';
let sum = 0;
class Number {
addNumber(num1, num2) {
return num1 + num2;
}
}
let numberObj = new Number();
sum = numberObj.addNumber(1,2);
console.log("sum of two number 1 and 2 "+ sum);
无法使用“导入”执行代码:
server.js
'use strict';
import Number from "./Number";
let sum = 0;
let numberObj = new Number();
sum = numberObj.addNumber(1,2);
console.log("sum of two number 1 and 2 "+ sum);
Number.js
'use strict';
export default class Number {
addNumber(num1, num2) {
return num1 + num2;
}
}
我还检查了http://node.green/以查看受支持的es6,但无法理解为什么–
harmony_modules选项不起作用。请帮忙。
它们只是尚未实现。
Node 6.0.0使用的V8版本已完成大多数ES6功能。不幸的是,模块并不是那些完整的功能之一。
node --v8-options | grep harmony
进行中, 和谐旗尚未完全实现,通常不起作用:
--es_staging(启用值得测试的和声功能( 仅供内部使用 ))
--harmony(启用所有完成的和声功能)
--harmony_shipping(启用所有已运送的和声功能)
--harmony_object_observe(启用“ harmony Object.observe”( 在progress ))
--harmony_modules (启用“ harmony模块”( 进行中 ))
--harmony_function_sent(启用“ harmony function.sent”( 进行中 ))
--harmony_sharedarraybuffer(启用“ harmony sharedarraybuffer”( 进行中 ))
-- harmony_simd (启用“ harmony simd”( 进行中 ))
--harmony_do_expressions(启用“ harmony do-expressions”( 正在进行中 ))
--harmony_iterator_close(启用“ harmony迭代器完成”( 正在进行中 ))
--harmony_tailcalls(启用“ harmony尾部调用”( 正在进行中 ))
--harmony_object_values_entries(启用“ harmony Object.values / Object.entries”(
正在进行中 ))
--harmony_object_own_property_descriptors(启用“ harmony
Object.getOwnPropertyDescriptors()”( 正在进行中 ))
--harmony_regexp_property(启用“ harmony unicode regexp属性类”( 正在进行中 ) )
--harmony_function_name(启用“和解函数名称推断”)
--harmony_regexp_lookbehind(启用“ harmony regexp
lookbehind”)
-- harmony_species(启用“ harmony Symbol.species”)-- harmony_instanceof (启用“
harmony instanceof support”)
--harmony_default_parameters(启用“ harmony默认参数”)
--harmony_destructuring_assignment(启用) “和谐解构分配”)
--harmony_destructuring_bind(启用“和谐解构绑定”)
--harmony_tostring(启用“ harmony toString”)
--harmony_regexps(启用“ harmony正则表达式扩展名”)
--harmony_unicode_regexps(启用“ harmony unicode regexps”)
--harmony_sloppy(启用“在草率模式下的和声功能”)
--harmony_sloppy_let(启用“以马虎模式调和”
--harmony_sloppy_function(启用“ harmony sloppy功能块作用域”)
--harmony_proxies(启用“ harmony proxies”)
--harmony_reflect(启用“ harmony Reflect API”)
--harmony_regexp_subclass(启用“ harmony regexp子类化”)
问题内容: 这些是我的示例文件: t1.js: t2.js: 当我在Firefox 46中加载页面时,它返回“ SyntaxError:导入声明可能仅出现在模块的顶层” –但是我不确定import语句可以在此处获得多少顶层。此错误是红色鲱鱼吗,并且尚不支持导入/导出吗? 问题答案: 实际上,您得到的错误是因为您需要明确声明您正在加载模块-只有这样,才允许使用模块: 。推荐阅读。 这些浏览器版本(及
以下是我的示例文件: T1.js: T2.js: 当我在Firefox46中加载该页面时,它返回“SyntaxError:import declarations Mays only Account at top level of a module”--但我不确定import语句在这里还能达到多少顶级。这个错误是不是一个错误,是不是还不支持导入/导出?
问题内容: 我似乎无法让绝对导入在python中工作。这是我的文件结构: foo.py: 我反而得到: 这到底是怎么回事?我觉得我缺少基本的东西。尽管这个例子很简单,但我需要绝对导入才能为实际项目工作,因此仅用相对导入替换导入是不可行的。我正在使用python 2.7.13 预先感谢您的任何见解! 问题答案: 由于未显示,因此我必须假设您正在运行,这会将脚本()的目录放在开始的位置,而实际上您希望
我似乎无法让绝对导入在python中工作。以下是我的文件结构: 福。py: 我反而得到: 这到底是怎么回事?我觉得我错过了一些基本的东西。虽然这个例子很简单,但我需要绝对导入来为实际项目工作,因此仅用相对导入替换导入是不可取的。我正在使用python 2.7。13 这里列出的解决方案都没有帮助 提前感谢您的任何见解!
问题内容: 我试图在节点中陷入进口的泥潭,并试图使用此示例中提供的语法: [备忘单链接](https://hackernoon.com/import-export-default-require-commandjs- javascript-nodejs-es6-vs-cheatsheet-different-tutorial-example-5a321738b50f) 我正在浏览支持表,但无法找到
我试图运行继电器启动套件更新chema.js巴贝尔节点。它似乎不认识箭头功能: 我试图将预设的“阶段-0”添加到“。Babelrc”,修复了这个错误,但我得到了: 这是否不承认es2015?或者这是我的模式中的错误?脚本“updateSchema.js”来自中继启动器工具包。 其他一切都运行良好,“巴别塔节点”似乎与我在es2015中编写的应用程序的其余部分没有问题。 编辑:我现在试着下载中继初学