gpt4 book ai didi

javascript - 我可以在现有的 JavaScript 应用程序中使用节点模块吗?

转载 作者:行者123 更新时间:2023-11-29 19:31:30 26 4
gpt4 key购买 nike

我的目标是弄清楚如何在现有的 javascript 应用程序中使用节点模块

我现有的应用程序是基于 jQuery 和 ReactJS 的。

我遇到了一些我想开始在项目中使用的节点模块,它们似乎只能作为模块使用(因此不能通过简单地添加脚本来使用它们> 标签)。

以前,我一直在使用 bower 安装库,并使用 script 标签在本地使用它们。

我知道我可以使用 BrowserifyWebpack 将一堆 Node 模块捆绑到一个 javascript 文件中,但是我怎样才能公开其中的模块它到我现有的应用程序?

我想做的是

<script src="jquery.min.js"/>
<script src="bundle.js"/>
<script src="myapp.js"/>

myapp.js 可以使用一个全局变量来表示 module_x,它是一个 npm 模块。

我预见到的一个问题是说 bundle.js 可能已经包含 jquery,那么我该如何解决这个问题呢?我知道有些人可能会说“将您的整个项目转换为模块”,然后就可以了!但我想知道是否可以不这样做,尽管有很多好处;-)

最佳答案

这不是更好的做法,但您可以将全局变量与 browserify 一起使用。这样您就可以在任何需要的范围内访问通过 require() 获得的库。只需使用:

global.lib = require('somelib');

然后通过browserify浏览您的源文件.如果您不知道如何操作,请阅读 documentation .它非常易于使用。

之后,只需从任何需要的地方访问 lib

此外,如果您已经将 jQuery 定义为 bundle 之前的全局,您将能够在浏览器化文件中访问它。在你的主 browserify 文件中,只需:

var someVar = require('./somefile.js');
var allDivs = $("div"); // $ was a global before this file runs

关于javascript - 我可以在现有的 JavaScript 应用程序中使用节点模块吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27189089/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com