问题标签 [es6-modules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2750 浏览

javascript - 导入值与其导出值断开连接仍然是只读的吗?

给定的是以下模块结构:

如果我有一个表达式(export default bexport default 1)的默认导出,则相应的导入与此导出值断开连接。考虑到这一点,这样的导入是否仍然是只读的,也就是说,我可以重新分配a还是c

0 投票
1 回答
65 浏览

ember.js - 集成测试渲染流程——EmberJS

我正在为我的一个插件组件编写集成测试。我还使用npm link将其链接到同级项目:

我在有问题的组件中使用了其中一个my-linked-projectmixin 。my-project

render这在应用程序运行时运行良好,但在我的集成测试中似乎遇到了一些问题。

但是我明白了Error: Could not find module 'my-linked-project/mixins/foo'

  1. 我在哪里可以阅读更多关于render/hbs被调用时会发生什么的信息?
  2. 问题可能是测试文件的位置,找不到外部链接的项目吗?
0 投票
1 回答
603 浏览

javascript - 我的“导入”语句是否被错误地转译?

我了解,以下两行是等效的:

和...

这两个示例都应使write-up模块的默认导出为Up.

不幸的是,使用 Babel 和 Webpack,这不是我看到的行为。

第一个例子工作得很好。它产生这一行:

Up设置为write-up模块的默认导出,这是我期望的行为。

第二个例子不起作用。它产生这个:

不是设置Up为默认导出,Up而是设置为包含模块的每个导出write-up(包括default字段)的对象。

我究竟做错了什么?

这是我的 Webpack 配置中的相关部分:

0 投票
1 回答
84 浏览

javascript - 从 TypeScript 中的模块调用导出的函数

这个问题很简单。

这是模块导出函数的方式。

这是 ES5 模块如何使用它的。

现在在 Typescript 中有点不同。

这会返回一个我以前从未见过的奇怪对象,一个没有键值对的嵌套对象。

如何调用该函数debug

0 投票
1 回答
93 浏览

javascript - 为什么 rollup.js 在其输出中不包括 - 专门 - 导出的值?

我是 Rollup 的新手 - rollupjs.org - 不明白为什么要删除导出的值;大概是在汇总期间通过摇树。

我有data.json一些基本数据,我想作为模块的一部分提供:

...以及将导出它们的模块:

rollup.js 是否无法将导出语句识别为“使用”,因此仅在其中的任何内容都会从输出中获得“treeshaken”?

0 投票
2 回答
219 浏览

javascript - 为什么我的反应变量不会在 DOM 上呈现?

我正在学习 React,并且正在使用来自 React 官方网站create-react的这个 github 存储库

我已按照说明开始编辑App.js提供的内容。

在我的 App.js 文件中,我正在创建一个类并使用idTodo在 DOM 上呈现它。#container

这是App.js文件:

这是index.js文件:

这是index.html文件:

当我打开网页时出现此错误21:5 warning 'Todo' is defined but never used no-unused-vars

这里发生了什么?

0 投票
1 回答
3840 浏览

javascript - Mocha 在导入的代码中找不到模块

我有一个 Phoenix 应用程序,并且正在尝试将 Mocha 连接起来以进行 javascript 单元测试。我想测试模块“二”,它导入模块“一”,但我不知道如何配置 Mocha 来查找模块一。

这是测试代码:

网络/静态/js/one.js

web/static/js/two.js

> 测试/js/two_test.js

这是我运行时的输出npm test

早午餐.config

0 投票
2 回答
4261 浏览

javascript - 如何让 ES6/2015 导入/模块在浏览器中工作?

我似乎无法让ES6/2015 导入工作。从这本Understanding ECMAScript 6 book中,我了解到我需要使用以下属性编写<script>标签:typemodules

然后我可以importmodule.js. 但是,它不适用于最新的 Firefox (v48.0.1) 和 Chrome (v53.0.2785.89)。当我console.logmodule.js.

如何在浏览器中使用 ES2015 的导入机制(本机,不使用 babel/webpack 之类的东西)?

更新:看起来微软的 Edge 浏览器支持模块,至少在实验模式下。为什么其他浏览器还不支持它,至少在实验模式下?

0 投票
2 回答
477 浏览

javascript - 导入语句中的解构赋值

根据这个来源在某个项目中看到这种用法的模糊记忆,我很好奇是否有人能够做到以下几点:

如本解构分配概述所述:

ES6 中的 import 语句的行为类似于解构,但重要的是要注意它实际上并不是解构。

看起来导入的工作方式有点不同,也许人们不能指望同样的行为,但我无法验证它的状态。我想要做的是官方 ECMAScript 6/7 规范的一部分吗?

在尝试回答这个问题时,请包括(或链接)规范中澄清此问题的部分。

0 投票
0 回答
110 浏览

javascript - 将自定义全局打字稿定义转换为模块

我们在一个反应​​项目中使用了一个名为Grapnel的客户端路由库。该库没有可用的定义文件,因此我编写了自己的定义文件,该文件正在工作,但我必须将其创建为全局模块并通过脚本标记以老式方式加载脚本。这不是最优的,因为项目中的所有其他 javascript 都由 webpack 捆绑。

Grapnel 通过 npm 安装;我希望能够在 webpack 中捆绑 Grapnel,并且对我们应该将定义编写为全局的场景感到好奇。Grapnel 是用 ES5 语法编写的:

因此需要实例化如下

我是否可以编写 .d.ts 以便我可以使用 ES6 模块导入语句?还是我需要将 Grapnel 称为全局变量?如果我必须使用全局定义,这是否会排除在 webpack 中的捆绑?

这是我的工作(全球)版本:

感谢您提供的任何建议。我是编写 .d.ts 的新手,但熟悉打字稿和使用打字。