es6-modules 相关问题

用于JavaScript的标准模块系统,在ECMAScript 6(2015)中引入。

为什么我在调试器中看到 bcrypt_1 而在使用 import 时看不到 bcrypt?

我在 Node.js 中使用 BCrypt,它没有找到 bcrypt,但它列出了 bcrypt_1。 这里发生了什么?这是因为我使用的是 ESM 导入吗?我有: 从“bcrypt”导入{bcrypt};...

回答 0 投票 0

如何组织多态的 ES6 模块?

我有一个应用程序,它有一堆全局范围的对象(本质上是模块,但都在窗口级别)。我试图通过使用 impo 转移到 ES6 模块来更好地组织这个......

回答 0 投票 0

是否可以从现有导入中导入?

这里有一些例子可以帮助解释我的问题: // 前 1,有效 从“aws-sdk/clients/sns”导入{MessageAttributeMap}; // 前 2,有效 从“aws-sdk”导入 * 作为 AWS; t...

回答 1 投票 0

':'冒号在 JavaScript 的导入中做什么?

给出下面的例子。 从 '@ioc:Adonis/Lucid/Database' 导入 { QueryClientContract, TransactionClientContract } 冒号的使用搞得我一头雾水,一直搞不懂进口的fi...

回答 2 投票 0

如何获取<script type="module">中的document.currentScript.ownerDocument?

如何在脚本类型=“模块”中获取ownerDocument? 文本 let owner = document.currentScript.ownerDocument // 是 nu...</desc> <question vote="6"> <p>如何在脚本 type="module" 中获取 ownerDocument?</p> <p></p><div data-babel="false" data-lang="js" data-hide="false" data-console="false"> <div> <pre><code>&lt;template&gt; text &lt;/template&gt; &lt;script type=&#34;module&#34;&gt; let owner = document.currentScript.ownerDocument // is null // But i need get &lt;template&gt; let tpl = owner.querySelector(&#39;template&#39;) &lt;/script&gt;</code></pre> </div> </div> <p></p> </question> <answer tick="true" vote="6"> <p>规范明确指出,在使用 <pre><code>&lt;script type=&#34;module&#34;&gt;</code></pre> 时, <pre><code>document.currentScript</code></pre> 属性在执行期间设置为 <pre><code>null</code></pre>。 <a href="https://html.spec.whatwg.org/multipage/scripting.html#script-processing-model" rel="noreferrer">请参阅“执行脚本块”下的规范</a>.</p> <p>如果使用 <pre><code>src</code></pre> 属性,这当然是显而易见的。源无法知道它将被脚本标记而不是导入语句(或两者)调用。内联模块时总是有一个脚本标签,但我猜他们想让体验保持一致。</p> <p>如果您的文档实际上是 <pre><code>window.document</code></pre> 仍然可以作为全局文件使用。否则,如果您仍然希望将脚本作为模块加载,则有两种选择:</p> <ul> <li><p>不是最漂亮的;在模块上方创建一个全局并存储模板。</p> <pre><code>&lt;script type=&#34;text/javascript&#34;&gt; window.myTemplates = ((ns) =&gt; { const owner = window.document.currentScript.ownerDocument; ns.fancyButton = owner.querySelector(&#34;template&#34;); return ns; })(window.myTemplates || {}); &lt;/script&gt; &lt;script type=&#34;module&#34;&gt; const tpl = window.myTemplates.fancyButton; // ... &lt;/script&gt; </code></pre></li> <li><p>不要将模板写成 HTML 模板,而是写成 ES/JS 模板。您的编辑器可能不支持突出显示文字 HTML,标签的 linting 是一个问题。</p> <pre><code>&lt;script type=&#34;module&#34;&gt; const tpl = window.document.createElement(&#34;template&#34;); tpl.innerHTML = ` &lt;strong&gt;example&lt;/strong&gt; &lt;span style=&#34;background-color: rgba(127,127,127,0.6);&#34;&gt;text&lt;/span&gt; `; // ... &lt;/script&gt; </code></pre></li> </ul> </answer> <answer tick="false" vote="1"> <p>我昨天遇到了同样的问题,花了几个小时试图解决这个问题,我想我可能会使用 <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import" rel="nofollow noreferrer">dynamic import</a> 有更好的解决方案。</p> <p>诀窍是创建一个不是这样的模块的加载器脚本:</p> <pre><code>&lt;script src=&#34;loader.js&#34;&gt;&lt;/script&gt; </code></pre> <p>在 loader.js 中:</p> <pre><code>var ownerDocument = document.currentScript.ownerDocument; import(&#39;module.js&#39;).then((module) =&gt; { module.main(ownerDocument); }); </code></pre> <p>你的模块:</p> <pre><code>function main(ownerDocument){ console.log(&#39;Hello from the module!&#39;); console.log(ownerDocument); } export {main}; </code></pre> <p>希望对您有所帮助!</p> </answer> </body></html>

回答 0 投票 0

大静态常数ESM类性能对比

在浏览器扩展环境中,对于具有较大静态常量的 ESM 类,在导出的字符串内部或外部是否存在任何性能差异(或其他赞成/反对)...

回答 0 投票 0

无法引用 webpack 包中的函数

我是 JS 库开发的新手,我正在尝试执行以下操作 使用 TypeScript 创建库 使用 webpack5 创建一个包 将库发布到 npm 在其他项目中使用该库...

回答 1 投票 0

Next.js - 导入 TypeScript 模块时找不到模块

这是我的代码: // 库/test2.ts 导出函数 test2() { console.log("test2"); } // 页面/index.tsx 从“下一步”导入 { GetServerSideProps }; // 有效 从 &

回答 2 投票 0

其他语言节点库加载方法

嗨,现在 npmjs 中的很多 js 库都是 esm,cjs 格式。 从 python、php、.net 后台和其他非节点语言构建 Web 应用程序时,我们仍然需要 javascript 作为 Web 部件。 什么...

回答 0 投票 0

如何导出/导入具有特定文件夹路径的 ES 模块?

我创建了一个 React 库,并将所有模块导出到一个 .js 文件中: 从'./components/Component'导入{Component}; 出口{组件}; 然后我像这样导入它: 进口{

回答 0 投票 0

为什么 express-mysql-session 写入数据库,但不知何故不从中读取?

我有一个用 ECMA 语法编写的 nodejs 应用程序,带有 dependencies.mjs 和 index.js。我想我已经正确设置了 express-mysql-session 和 express-session,就像我之前用

回答 1 投票 0

无法在Next中动态导入

我正在尝试动态导入富文本编辑器(CKEditor 4),以便加载该(重)库不会减慢我的初始页面加载速度。为此,我有以下组件: ...

回答 0 投票 0

Vercel 无服务器函数由于找不到模块 '/var/task/backend/node_modules/axios/dist/node/axios.cjs' 而崩溃

我在 Vercel 无服务器函数中导入 axios 时遇到问题。函数中断取决于我导入 axios 的方式。我创建了一个关于 vercel 的讨论,一个 github 问题,还创建了一个

回答 0 投票 0

为什么要返回 Promise? [重复]

我正在使用带有函数的 JavaScript 动态导入模块,该函数将导入脚本并返回某个对象。但它正在返回一个承诺。我希望它返回

回答 0 投票 0

如何在 2023 年“正确”构建 es 模块包导出?

上下文 我目前正在将我的 MVP 代码分解成更干净的包,并希望在我的早期阶段建立一个坚实的结构基础。我正在使用纯 ES 模块 + 导入映射,并且有

回答 0 投票 0

有没有办法在 nextjs 中解决“无法在模块外找到导入语句”?

我正在使用 nextjs 并安装了带有 Babel 的 jest 来进行单元测试。 当我运行 npm test 时,它给出了以下“导入”错误 失败测试/页面/index.test.js ● 测试套件运行失败 笑话相遇...

回答 1 投票 0

访问脚本标签中定义的类型为模块的变量?

我的 HTML 中有一个带有类型模块的脚本标签,它导出一个变量: 变种生活= 42; 导出{生命}; 我如何从其他 sc 访问 life ...

回答 2 投票 0

zod 类型错误:无法读取未定义的属性(读取“扩展”)

我有一个使用 Vitest 和 Zod 的 Vite 库。给定以下文件夹结构 . ├── 来源 │ ├── 领先 │ │ ├── index.ts ( 2 ) │ │ └── leadingDataSourceConfigurationSchema.ts │ ├── 工业...

回答 1 投票 0

如何检测 import('/some-url') 失败是因为 '/some-url' 不是 JavaScript 模块?

我的浏览器端 JavaScript 使用动态导入 import('/some-url') 有时会抛出错误。 我如何判断抛出的错误是来自加载的 JavaScript 模块,还是来自

回答 1 投票 0

ViteJS:第三方库的依赖预捆绑问题?适用于构建但不适用于开发

我正在使用在其库内部使用 momentjs 的第三方库。查看库的源代码,它使用 import * as moment from 'moment' import 语句。它叫一个

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.