我的目标是弄清楚如何在现有的javascript应用程序中使用节点模块
我现有的应用程序是基于jQuery和ReactJS的。
我遇到了一些我想开始在项目中使用的节点模块,这些节点模块似乎只能作为模块使用(因此,不能通过简单地添加script
标签来使用它们)。
以前,我一直在使用bower
库来安装库,并仅通过script
标签在本地使用它们。
我了解我可以使用Browserify
或Webpack
将一堆Node模块捆绑成一个javascript文件,但是如何将其中的模块暴露给现有应用程序?
我想做的是
<script src="jquery.min.js"/>
<script src="bundle.js"/>
<script src="myapp.js"/>
在哪里myapp.js
可以使用全局变量来说module_x
这是一个npm模块。
我预见的问题之一是说bundle.js
可能已经包含了jquery,那么我该如何解决呢?我知道有人会说“将您的整个项目转换为模块”,然后它就会起作用!但是我想知道,尽管有很多好处,但如果不这样做,是否可以做到;-)
这不是更好的做法,但是可以将globals与browserify一起使用。这样,您将可以require()
在所需的任何范围内访问随带的库。只需使用:
global.lib = require('somelib');
然后,只需browserify源文件throught browserify。如果您不知道如何操作,请阅读文档。它非常易于使用。
之后,lib
您可以从任何需要的地方进行访问。
另外,如果您已经将jQuery定义为该捆绑包的全局前缀,则可以将其访问到浏览器化的文件中。在您的主要browserify文件中,只需:
var someVar = require('./somefile.js');
var allDivs = $("div"); // $ was a global before this file runs
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句