gpt4 book ai didi

javascript - 为什么在 node.js 9 中导出和导入错误?

转载 作者:搜寻专家 更新时间:2023-11-01 00:20:45 25 4
gpt4 key购买 nike

我学javascript没多久。我制作了两个文件,如下所示。应用程序.js:

import * as  Conf from './conf'
console.log(Conf.a)

conf.js:

export let a = 1

我只是在控制台中运行命令:

node app.js

这是错误的。错误信息:

(function (exports, require, module, __filename, __dirname) { import * 
as Conf from './conf'

SyntaxError: Unexpected token import

谁能告诉我为什么?什么是javascript和babel等等。我对这些概念不太熟悉。谢谢。

最佳答案

有一个协会每年都会推出一个新的 javascript 规范,称为 ECMA 2015 (ES6)、ECMA 2016 (ES7)、ECMA 2017 (ES8) ...

每个规范都描述了 javascript 必须具备的功能。

市场上存在多种javascript引擎:

  • 来自谷歌的 V8(和 Node )
  • 来自微软的 Chakra
  • 来自 mozilla 的 Rhino

等等

这些引擎试图跟上规范,但并非 100% 合规。

here你可以看到关于引擎和 ES6 的兼容性表。

enter image description here


你现在可以想象的问题是,“为什么我要马上使用全新的ES8?”。有两个答案:要么等待 node.js 实现它,要么使用像 Babel 这样的transpiler

Babel 获取您编写的代码并将其转换为与 node.js 完全兼容的旧规范 (ES5)。

例如,你想使用 import 这是一个 ES6 特性。 Babel 会将您的 import 转换为 require 以便 node.js 可以执行它。

使用转译器非常有用和强大,因此您可以立即使用提高开发团队生产力的最后一个功能。


就像@Tuan Anh Tran 所说的那样,您可以使用一个标志告诉 node.js 运行它的实验性功能,这代表它现在正在实现的功能(对于生产来说不是特别安全) .


Here是一篇关于 ES6 特性的文章。

Here是一篇关于 ES7 特性的文章。

Here关于 ES8 特性。

关于javascript - 为什么在 node.js 9 中导出和导入错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47469095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com