es6-modules相关内容

是否提升了 ES6 模块导入?

我知道在新的 ES6 模块语法中,JavaScript 引擎不必评估代码来了解所有的导入/导出,它只会解析它并“知道"要加载什么. 这听起来像是在吊装.ES6 模块被吊起了吗?如果是这样,它们会在运行代码之前全部加载吗? 这个代码可以吗? 从'externalModule1'导入myFunc1;myFunc2();如果(Math.random()> 0.5){从“externalMo ..
发布时间:2021-12-23 11:46:31 前端开发

ES6 模块导入给出“Uncaught SyntaxError: Unexpected identifier";

对于个人项目,我尝试使用 ES6 导入来编写更清晰的代码.作为第一个测试,我正在编写一个应该生成菜单的对象.当我直接加载类时,整个代码都在工作,但是在 ES6 中使用导入和导出时,它在 import 行中的 import 行给出了“Uncaught SyntaxError: Unexpected identifier"错误>main.js 我有以下文件: assets/js/menu. ..
发布时间:2021-12-23 11:44:08 前端开发

使用 ES6 导入加载特定名称是否比导入命名空间更快?

我发现至少有两种方法可以从 Ramda 等模块中导入函数.可能还有更多的方法可以做一些非常相似的事情,比如 const R = require('ramda'); 选项 1 是导入某些函数: import { cond, T, always, curry, compose } from 'ramda'; 选项 2 是导入整个模块,如: import * as R from "ramda ..

使用 --experimental-modules 标志时节点中 __dirname 的替代方案

我在运行 node 应用程序时使用标志 --experimental-modules 以使用 ES6 模块. 然而,当我使用这个标志时,元变量 __dirname 不可用.是否有其他方法可以获取与此模式兼容的 __dirname 中存储的相同字符串? 解决方案 从 Node.js 10.12 开始,有一个替代方案,不需要创建多个文件并跨平台处理文件名中的特殊字符: import { ..
发布时间:2021-12-23 11:41:21 其他开发

ES6 解构和模块导入

我的印象是这种语法: 从'react-router'导入路由器;var {Link} = 路由器; 具有与此相同的最终结果: import {Link} from 'react-router'; 谁能解释一下有什么区别? (我原本以为这是一个 React Router Bug.)> 解决方案 import {Link} from 'react-router'; 从 react- ..
发布时间:2021-12-23 11:40:21 前端开发

哪些浏览器支持 ECMAScript 6 的导入和导出语法?

我目前正在使用 MEAN Stack 编写 Web 应用程序,并尝试使用 ECMAScript 6 JavaScript 编写代码;但是,在使用导入和导出语法时,我在 Chrome 和 Firefox 中都遇到了错误.目前是否有完全支持 ECMAScript 6 的浏览器? 请注意:我不是问浏览器何时支持 ECMAScript 6.我在问哪些浏览器支持 ECMAScript 6 导入和导出语 ..

ES6 中的“export const"与“export default"

我正在尝试确定这两者之间是否有任何大的区别,除了能够使用 export default 导入之外,只需执行以下操作: 从'myItem'导入myItem; 并且使用 export const 我可以做到: import { myItem } from 'myItem'; 除此之外还有其他区别和/或用例吗? 解决方案 这是命名导出与默认导出.export const 是一个命名的导出 ..
发布时间:2021-12-23 11:27:00 前端开发

将选项传递给 ES6 模块导入

是否可以将选项传递给 ES6 导入? 你如何翻译: var x = require('module')(someoptions); 到 ES6? 解决方案 单个 import 语句无法做到这一点,它不允许调用. 所以你不会直接调用它,但你基本上可以像 commonjs 对默认导出所做的一样: //module.js导出默认功能(选项){返回 {//实际模块}}//main ..
发布时间:2021-12-23 11:26:45 前端开发

如何在 es6 中缓存 bust 导入的模块?

ES6 模块允许我们像这样创建一个单一的入口点: //main.js从'foo'导入foo;foo() foo.js 将存储在浏览器缓存中.在我将新版本的 foo.js 推向生产之前,这是可取的. 通常的做法是添加具有唯一 id 的查询字符串参数以强制浏览器获取新版本的 js 文 ..
发布时间:2021-12-15 15:05:29 其他开发

带有 SystemJS 的 Cypress

我正在尝试创建一些基本测试来试用新的 Cypress 库.在我的测试中,我有 cy.visit('http://mywebsite.com'); 它正在加载一个使用 SystemJS 的 AngularJS 应用程序. 如果我对 Cypress 的理解正确,我就不应该做任何其他事情,它会确保在运行其他任何东西之前加载页面.但是这似乎不起作用,因为页面已加载,但 SystemJS 仍在加载模块 ..
发布时间:2021-12-15 12:12:50 前端开发

Typescript 编译器忘记向 ES6 模块导入添加文件扩展名?

我正在尝试使用 ES6 模块解析将 Typescript 项目编译为 JS,但似乎有些不对. 我的 tsconfig.json 看起来像这样: {“编译器选项":{“模块":“es6",“目标":“es6",“源地图":真,“lib":[“es6"]}} 我用两个模块构建了一个简单的测试用例.第一个模块 (module1.ts) 只是导出一个常量: export const testT ..
发布时间:2021-12-05 16:05:21 前端开发

如何在 Node.js 中使用 ES6 导入?

我正在尝试在 Node.js 中掌握 ES6 导入的窍门,并尝试使用本示例中提供的语法: 备忘单链接 我正在查看支持表,但找不到支持新导入语句的版本(我尝试寻找文本导入/要求).我目前正在运行 Node.js 8.1.2 并且也相信由于备忘单是指 .js 文件,它应该适用于 .js 文件. 当我运行代码时(取自备忘单的第一个示例): import { square, diag ..
发布时间:2021-12-01 21:25:55 其他开发

ESlint - import.meta 导致致命解析错误

使用 Atom 编辑器和 linter-eslint 安装包,我有一个 node.mjs 脚本,它使用 ES6 模块的 import 语句来导入各种节点模块. 当我使用节点的 --experimental-modules 标志运行脚本时,脚本运行良好.但是,在使用 Atom 进行编辑时,linter-eslint 说: 解析错误:意外的令牌导入(致命) 这个解析错误不是由我的代码文件顶部 ..
发布时间:2021-11-30 14:33:04 前端开发