我如何在全局中导入一个库,以便我可以在导入的 js 文件中访问它?

How can i import a lib in global so i can access it in an imported js file?

为什么我认为将我的库放在全局中并在不同的文件中访问它是一个有效的选择: 首先我有一个 js 文件,但我的文件越来越大,所以我将它分成两部分,现在我通过函数导出访问我的第二个文件函数。 那么为什么当我在单个文件上时我必须导入一次库,而当我使用多个文件时多次导入库

我想做什么

当我尝试使用 JavaScript 中的库时出现错误。

对于示例,我将使用 'lib' 而不是来自 js

的真实库

这是我的文件

app.js

import lib from 'lib'

console.log(lib)

这是有效的,但是当我添加

app.js

import lib from 'lib'
import my_file from './file_path.js'

file_path.js

console.log(lib)

这不起作用,我必须在新文件中导入我的库,例如

file_path.js

import lib from 'lib'
console.log(lib)

我收到这个错误

未捕获的引用错误:lib 未定义

但我不想复制我的导入,我该怎么做?谢谢

我找到了一个与 window

一起工作的解决方案

你只需要像这样在 window 变量中添加你的库:

app.js

import lib from 'lib';
window.lib = lib;

import my_file from './file_path.js'

现在您可以在“my_file”中使用您的库,而无需再次导入它

PS:感谢帮助我解决问题的人:)

/!\ 您必须在节点应用程序中才能使用此方法 /!\

我还找到了 window 和 import

的替代方法

我们可以这样使用 require:

window.lib = require('lib');

现在我们只有一行而不是两行 这是迄今为止我找到的最好的解决方案,不知道我们是否可以做得更好,让我知道