es6-modules 相关问题

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

如何为 NodeJS 模块指定上下文

我正在使用以下脚本将字符串编译为模块。如何为此模块指定上下文,以便 myGlobal 在代码中可用? const myGlobal = "你好"; 功能

回答 1 投票 0

一遍又一遍地出现相同的错误语法错误:无效或意外的标记

我一直在尝试运行我的index.mjs 文件,但总是遇到同样的错误。这是我的 index.mjs 文件: 从“ws”导入WebSocket,{WebSocketServer}; 从“http&qu...

回答 1 投票 0

ES6(ECMAScript 2015)模块:导入index.js

在互联网上查找时,我对特殊的“index.js”模块文件感到困惑。 使用 babelJS + Node.js 或 Browserify/Webpack 我可以在“libs...

回答 2 投票 0

无法将 dotenv 与 ES6 模块一起使用

我正在将 Express 应用程序从 CommonJS require 语法移至 ES6 模块导入语法。这很好,直到我尝试使用 dotenv 加载我的环境变量以及每次我尝试访问时

回答 5 投票 0

节点模块 .d.ts 下的文件的 Jest 测试失败,即使忽略节点模块也无法解析

我在进行笑话测试时遇到以下错误。我已经对错误发布到的节点模块进行了转换忽略。请检查配置并帮助我编译我的

回答 1 投票 0

nestjs-无法使用 migrate-mongo 进行迁移

我正在开发一个nestjs应用程序,我正在使用migrate-mongo包,我已经使用migrate-mongo命令初始化了 npx 迁移-mongo -m esm init 然后我必须添加“类型”:“...

回答 1 投票 0

是否有 vue devtools 作为 ES 模块,或者是否有没有依赖项的 pinia prod ES 模块?

我尝试使用pinia 2.1.7作为ES模块,以及Vue 3.3.8。 所以: <p>我尝试使用pinia 2.1.7作为ES模块,以及Vue 3.3.8。</p> <p>所以:</p> <pre><code>&lt;script type=&#34;module&#34; src=&#34;./js/lib/vue-3.3.8.esm-browser.js&#34;&gt;&lt;/script&gt; &lt;script type=&#34;module&#34; src=&#34;./js/lib/pinia-2.1.7.esm-browser.js&#34;&gt;&lt;/script&gt; </code></pre> <p>和:</p> <pre><code>import {defineComponent, createApp, nextTick} from &#34;./lib/vue-3.3.8.esm-browser.js&#34;; import {createPinia, setActivePinia} from &#34;./lib/pinia-2.1.7.esm-browser.js&#34; </code></pre> <p>和:</p> <pre><code>... const pinia = createPinia(); setActivePinia(pinia); const cntApp = createApp(App); cntApp.use(pinia); cntApp.mount(&#39;.vue-app&#39;); ... </code></pre> <p>到目前为止我很清楚。</p> <p>我从pinia ES模块了解到它需要vue-demi和vue/devtools-api。因此,我另外导入 vue-demi 作为 ES 模块,该模块是从 npm dist 文件夹中获取的,但是<strong>我没有找到 devtools 的 ES 模块</strong>。</p> <p>我在 CMS 中开发,仍然最好用单页面交付,所以我更喜欢尽可能长时间地使用 ES 导入每个页面,而不是构建一个巨大的 js 包。</p> <p>问题:</p> <ul> <li>是否有没有 vue-demi 且没有 api 工具的 pinia 生产版本?</li> <li>是否有可能将 devtools 作为 ES 模块或脚本包含在内?</li> </ul> </question> <answer tick="false" vote="0"> <p>因此,如果您在节点宇宙中并使用 npm、webpack 或其他,您的脚本将使用所需的一切来构建。</p> <p>但是如果你需要在浏览器中加载单个ES模块,你就必须选择和调整。我使用 Vue3 和 Pinia,需要在浏览器中使用 ES。</p> <p>我建议采取以下步骤:</p> <ol> <li><p>按照记录使用 npm 下载所需的模块,例如<pre><code>npm install pinia</code></pre>、<pre><code>npm install vue-demi</code></pre>、<pre><code>npm install vue/devtools-api</code></pre>(如果需要)。您仍然可以创建一个虚拟的 npm lib 文件夹并在那里运行 npm,只是为了获取所有包。</p> </li> <li><p>复制项目中所需的文件并将它们作为模块加载到浏览器中。例如,我现在有:</p> <pre><code> &lt;script type=&#34;module&#34; src=&#34;./js/lib/vue-3.3.8.esm-browser.js&#34;&gt;&lt;/script &lt;script type=&#34;module&#34; src=&#34;./js/lib/vue-devtools-6.5.1.esm/index.js&#34;&gt;&lt;/script&gt; &lt;script type=&#34;module&#34; src=&#34;./js/lib/vue-demi-0.4.16.esm.js&#34;&gt;&lt;/script&gt; &lt;script type=&#34;module&#34; src=&#34;./js/lib/pinia-2.1.7.esm-browser.js&#34;&gt;&lt;/script&gt; </code></pre> </li> </ol> <p>您可以在包的子文件夹“dist”或“lib”或其他子文件夹中找到这些文件。除了 vue demi,接下来会解释。</p> <ol start="3"> <li><p>Vue demi 是一个简单的脚本,基本上可以从 Vue 导入和导出所有内容,并向界面添加 <pre><code>set()</code></pre> 和 <pre><code>del()</code></pre>,并进行一些进一步的更改以兼容 Vue3。它在包根目录中的索引文件需要包管理器才能运行。但是,在我的例子中,我只使用 Vue3,所以我抓住 <pre><code>/lib/v3/index.mjs</code></pre>,更改 <pre><code>import</code></pre> 语句,以便 <pre><code>from</code></pre> 语句找到有效文件,并将其存储为 vue-demi-0.4.16.esm.js 。现在这就是你自己的 ES 模块了。</p> </li> <li><p>由于所有这些文件都是为包管理器准备的,因此您需要调整导入语句的<pre><code>from</code></pre>部分。浏览器必须找到正确引用的文件。见下一篇。</p> </li> </ol> <p>如果你阅读pinia.xx.esm-browser.js,开头的许多导入名称除了<pre><code>set</code></pre>和<pre><code>del</code></pre>之外都是来自Vue.js。只有 <pre><code>set</code></pre> 和 <pre><code>del</code></pre> 来自 vue-demi。所以你不需要找到“巨大的 vue-demi 脚本”,vue-demi 只是转发来自 Vue 的所有导入。</p> <p>所以我的 pinia-2.1.7.esm-browser.js 现在有:</p> <pre><code>//import { hasInjectionContext, inject, toRaw, watch, unref, markRaw, effectScope, ref, isVue2, isRef, isReactive, set, getCurrentScope, onScopeDispose, getCurrentInstance, reactive, toRef, del, nextTick, computed, toRefs } from &#39;vue-demi&#39;; import { hasInjectionContext, inject, toRaw, watch, unref, markRaw, effectScope, ref, isVue2, isRef, isReactive, set, getCurrentScope, onScopeDispose, getCurrentInstance, reactive, toRef, del, nextTick, computed, toRefs } from &#34;./vue-demi-0.4.16.esm.js&#34;; //import { setupDevtoolsPlugin } from &#39;@vue/devtools-api&#39;; import { setupDevtoolsPlugin } from &#34;./vue-devtools-6.5.1.esm/index.js&#34;; </code></pre> <p>vue-demi-0.4.16.esm.js 看起来像这样:</p> <pre><code>import * as Vue from &#34;./vue-3.3.8.esm-browser.js&#34;; var isVue2 = false var isVue3 = true var Vue2 = undefined ... Everything else is unchanged ... export * from &#34;./vue-3.3.8.esm-browser.js&#34;; export { Vue, Vue2, isVue2, isVue3, install, } </code></pre> <p>一切都在那里,只需抓住它并将其调整为导出报表即可。</p> <p>您将找到更好的方法来灵活地处理导入声明、发布和更新。我想说的是:所有模块都在那里,抓住它们即可。</p> </answer> </body></html>

回答 0 投票 0

JavaScript Es6 与 Es7 - 有什么区别

任何人都可以告诉我这两个版本之间的区别,并告诉我它们之间发生的任何折旧,新模块,新概念。对 JavaScript 网站的任何影响或创建一个过度的错误...

回答 1 投票 0

编程式 Webpack 和 Jest (ESM):无法解析没有“.js”文件扩展名的模块

我正在以编程方式使用 webpack,以及 typescript、ESM 和 jest。在一个玩笑测试中,我在导入 ES 模块时因不包含 .js 文件扩展名而收到错误。例如: 模块不适合...

回答 3 投票 0

获取当前ES模块的文件名

是否可以获取当前JavaScript模块的文件名? // 项目.mjs 函数 printName() { 控制台.log(...); // >> item 或 item.mjs }; 如果没有,为什么不呢?沙箱等

回答 3 投票 0

带有导出的 NPM 包不会在打字稿中加载

我们的库需要同时适用于使用 ESM 模块和 CommonJS 的项目。因此,我们使用 3 种不同的配置构建它:ESM、node16 和类型。 此设置适用于 JavaScript 项目...

回答 1 投票 0

使用 Typescript 导入行为

我们如何从express导入Request、Response、Express接口 从'express'导入express,{Express,请求,响应}; 检查了类型声明文件,我们只导出 fu...

回答 1 投票 0

如何在Nuxt 2中加载browser.esm.js模块?

尝试在 Nuxt 2 项目中导入 @thirdweb-dev/wallets 模块时出现以下错误: ./node_modules/@thirdweb-dev/sdk/dist/marketplace-auction-3488e43b.browser.esm.js 中出现错误

回答 1 投票 0

如何用玩笑测试@mdx-js/mdx(transformIgnorePatterns不适用于“开发”模块)

我的最终目标是能够在 Jest 中编写可以从 @mdx-js/mdx 导入的测试,这是一个 ESM 模块,并且由于正在开发的库包是为 commonsjs 配置的,所以我使用...

回答 1 投票 0

connect-redis 7.0.1 出现错误 [ERR_REQUIRE_ESM]

节点版本:16.20.2 连接redis版本:7.0.1 ESM版本:3.2.25 Redis版本:3.0.2 快速会话版本:1.17.3 我的节点应用程序中的 connect-redis 收到 ERR_REQUIRE_ESM 错误。我有

回答 1 投票 0

Jest 模拟由 http 服务器控制器导入的 ES 模块

我有一个基本的 Express 服务器,我用 Jest 和 Supertest 进行测试。我正在尝试模拟由控制器导入的 ES 模块。测试工作正常,但我无法使模拟工作。这里...

回答 1 投票 0

Javascript 导入模块并在 HTML 文档中使用它们

我一直遇到的问题是我无法让导入的模块在普通的 Javascript 中一起工作。这是我的项目结构: > 顶层 > 索引.html > 主.css > main.js &g...

回答 1 投票 0

无法在 vite vue ts 三个项目中使用三个对象运行玩笑测试

这是我的测试: 从“../src/modules/objs/line”导入{Line}; 从“../src/modules/scene/sceneWrapper”导入{SceneWrapper}; 从“三”导入*作为三; 导入{

回答 1 投票 0

如何从 webpack 中排除模块,并使用 es6 导入它

我目前正在使用 webpack 将 javascript 文件与 React 捆绑在一起。该文件还有另一个导入语句到我的项目中的另一个模块 从 './MyModuleFile.js' 导入 {MyModule} ...

回答 3 投票 0

如何在 Node.js 的工作线程中使用 ES6 导入?

如何在工作线程中使用ES6导入? 我正在尝试在 Node.js 环境中的工作线程中使用 ES6 导入语法。但是,我遇到了导入声明的问题。这是一个

回答 1 投票 0

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