问题标签 [javascript-import]

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 投票
2 回答
80 浏览

javascript - 如何在 javascript 文件中使用 require

在位于根文件夹中的 app.js 中,我的意思是Mywebsite/app.js我可以访问 require 变量

但在所有其他文件夹(如publicor staticorviews文件夹)中,我无法使用 require ,也无法导入任何像这样的库

我收到此错误以进行导入

SyntaxError:意外的标识符“管理员”。import call 只需要一个参数。

或者这个要求

ReferenceError:找不到变量:需要

我是 Web 开发的新手,尤其是在使用 express 应用程序时,现在我的所有问题都在于 require 或在 javascript 文件中导入库,是否有任何其他方法可以在 nodejs 中包含或调用模型而不是 require

这是我的依赖项

0 投票
2 回答
636 浏览

node.js - 使用 webpack 在 typescript 项目中构建 es6 模块

我正在尝试在我的项目中使用 imagemin 节点包。它是一个 es6 模块,我在使用它时遇到错误。

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module.在 package.json 中将“类型”作为“模块”

ReferenceError: require is not definedpackage.json 中的“type”为“commonjs”

我的 webpack 配置:

我的 tsconfig:

当我尝试在我的一个 .ts 文件中“导入”imagemin 时,webpack 将其转换为“require”。我也尝试过使用import(),但它也不起作用。我在github上做了一个repo

有没有办法获得 es6 包(首选)或将 imagemin 与 commonjs 包一起使用?

0 投票
1 回答
50 浏览

javascript - 角度的导入和导出

我正在做一个有几个组件的角度项目。在 .ts 文件中导出了一个const对象,并且在两个组件中导入了该对象。

似乎在一个组件中更改导入对象的属性值会更改在另一个组件中导入的相同对象的属性。我验证了代码,并充分确定我不知道如何在组件之间传递数据。

  1. 我的问题是 .ts 文件中上述相同导出对象的两个导入在两个组件中是指内存中的同一个对象还是独立的?

  2. 作为一个单独的问题;在其中一个组件中,我在一个元素中使用了字符串插值,在该div元素中我调用了一种方法,该方法必须在嵌入式编辑器(ace)中显示 .json 数据。

这就是方法。(“拓扑”对象是导入到该组件和其他组件中的对象,正如我之前所说的)

当我取消注释 console.log 语句时,它会在控制台中无限记录“再次调用”并且浏览器挂起。这是角度的行为吗?我们不应该在字符串插值中调用一个方法,因为它会被连续调用吗?还是我在某个地方错了?

你能澄清一下疑惑吗?非常感谢你。

0 投票
1 回答
30 浏览

javascript - 无法在 javascript 模块中导入嵌套导出

我一生都无法弄清楚如何从模块中导入readFileSyncwriteFileSyncrw模块中导入,特别是从它的dash“子模块”中导入。我试过以下

这给了我error: Could not resolve "rw/dash"。我可以使用import {dash} from 'rw';and访问我需要的功能dash.readFileSync,但我宁愿直接导入这些功能。我也尝试过其他的东西,比如

但似乎不允许像这样使用点。

任何指针都非常感谢。或者,如果这违背了 javascript 的“精神”,请告诉我。

0 投票
0 回答
39 浏览

javascript - javascript导入是实时的吗?

好吧,我正在尝试使用基本导入来做一个贪吃蛇游戏,但有时我被卡住了,因为 javascript 分配。

我将 oldSnake 的值指定为蛇在更改之前的值。

但是当我进入 forEach 时,已经分配的值发生了变化,我不知道为什么。

在进入 forEach 之前 在此处输入图像描述

进入forEach之后 在此处输入图像描述

我搜索了一下,没有找到任何地方,有人知道发生了什么吗?

0 投票
1 回答
85 浏览

javascript - 如何防止打字稿在编译文件中添加导入

我正在使用一些 js 库(如 prismjs)构建一个电子 js 应用程序。

我尝试将@types/prismjs 添加到我的节点模块和许多其他方式

但仍然打字稿尝试导入它import {something} from "prismjs"(在我不想要的生成的js文件中)

我在堆栈溢出中看到过类似的问题,但没有一个能解决我的问题。

应用程序/ts 配置

应用程序/script.ts

项目结构 在此输入图片描述

0 投票
1 回答
65 浏览

javascript - 导入/导出 Javascript 对象属性

我支持一个相对复杂的遗留代码库,但我希望通过引入 Webpack 对其进行一些现代化改造,以便我们在 JS 中具有导入和导出功能。

我遇到的问题是我们使用了一个名为 App 的全局对象,我们根据页面定义和添加不同的属性。因此,例如,我们有以下文件,我们在其中实例化 App(加载到所有页面上):

应用程序.js

然后在另一个文件中,我们仅为需要它的特定页面添加到 App.Lib:

懒加载.js

我们只是在捆绑过程中连接文件,但显然这并不理想,因为没有一个文件不知道在它之外发生了什么。

导出似乎仅适用于顶级对象(定义对象的位置),因此我在其他地方添加的任何内容都无法再次导出。例如,如果我在lazyload.jsexport default App.Lib.Lazyload;的末尾添加,然后尝试在其他地方导入它,它将不会导入 Lazyload 属性。

有没有办法在没有重大重构的情况下让它工作?如果没有,您对处理它的最佳方法有什么建议吗?

0 投票
3 回答
47 浏览

javascript - 从“模块”导入“名称”和从“模块”导入*作为“名称”有什么区别?

我的应用程序上的代码是这样的。

我想知道1和2的区别。

因为当我使用 2(9 行)运行我的应用程序时,出现了未处理的错误。

我想知道这两种方式是如何工作的。参考了mozilla的官方文档,但是看不懂。如果你能回答我,我将不胜感激。

0 投票
1 回答
53 浏览

javascript - 通过更改其签名导出反应钩子

我想在导出它们时更改钩子名称及其返回值。这是我的用例。我想使用notistack api 在我的应用程序中显示一些祝酒词。但是,因为我不喜欢snackbar我想将其更改为toast. 这是我开始做的方式:

但是我无法更改从useSnackbar钩子返回的变量的名称。

应该

我怎样才能做到这一点?

谢谢你。

0 投票
1 回答
241 浏览

javascript - 基于环境变量的动态导入

在一个项目中,我有一个环境变量,应该用于指定我们是否要使用 HTTPS:

基于此环境变量,我现在尝试使用 https 或 http 模块:

上面的导入会引发以下打字稿错误:

当然我可以解决这个问题,分别导入 https 和 http,但我想知道是否有办法通过一次导入来修复上述问题?

没有打字稿,以下工作就好了: