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

问题描述 投票:0回答:2

为什么我认为将我的库放在全局中并在不同的文件中访问它是一个有效的选择: 首先我有一个 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'

文件路径.js

console.log(lib)

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

文件路径.js

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

我收到此错误

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

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

javascript import
2个回答
0
投票

我找到了一个与窗口一起使用的解决方案

您只需将 lib 添加到窗口变量中即可:

app.js

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

import my_file from './file_path.js'

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

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


0
投票

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

我还找到了窗口和导入的替代方案

我们可以这样使用 require :

window.lib = require('lib');

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

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