当前位置: 首页 > 面试题库 >

如何使用Webpack在js文件而不是html文件中加载CDN或外部供应商javascript lib

单于正业
2023-03-14
问题内容

我正在使用React Starter
Kit进行客户端编程。它使用react和webpack。没有index.html或任何要编辑的html,所有js文件。我的问题是,是否要从云加载供应商js库,该怎么办?

在html文件中这样做很容易。 <script src="https://forio.com/tools/js- libs/1.5.0/epicenter.min.js"></script>

但是,在js文件中,它仅使用npm安装的软件包。如何导入没有html文件的上述lib?我尝试导入并要求,它们仅适用于本地文件。

更新10/21/15到目前为止,我尝试了两个方向,但都不是理想的方向。

  1. @minheq是的,有一个用于react入门工具包的html文件。它是src / components / Html下的html.js。我可以像这样放置云库及其所有依赖项:
        <div id="app" dangerouslySetInnerHTML={{__html: this.props.body}} />
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
        <script src="https://forio.com/tools/js-libs/1.5.0/epicenter.min.js"></script>
        <script src="/app.js"></script>
        <script dangerouslySetInnerHTML={this.trackingCode()} />
    </body>
    

好消息是它有效,我不需要在js文件中进行任何其他操作,无需导入或要求。但是,现在我以不同的方式加载了两个jQuery库。一个在这里,另一个通过npm和webpack。我不知道以后会不会给我带来麻烦。如果我由于服务器端加载而在浏览器窗口中键入无主路径,则我使用的反应路由会给我“未定义的变量”错误。所以这个解决方案不是很好。

  1. 使用webpack外部功能。记录为:link。“当您要将现有的API导入捆绑软件时,也可以对应用程序使用外部选项。即,您想使用CDN中的jquery(单独的标签),仍然希望在捆绑软件中使用require(“ jquery”)。将其指定为外部:{外部:{jquery:“ jQuery”}}。“ 但是,我发现一些地方的文档对于如何准确地做到这一点都很挑剔。到目前为止,我还不知道如何使用它来替换<script src="https://forio.com/tools/js-libs/1.5.0/epicenter.min.js"></script>html。

问题答案:

肯定有一个html文件用于附带js捆绑包的用户。可能您可以将脚本标签附加到该html文件中



 类似资料:
  • 问题内容: 我不确定将Angular Cli从SystemJs切换到Webpack后如何包括JS文件(供应商)。 例如 选项A 我有一些通过npm安装的js文件。 这样无法将脚本标签添加到head标签。似乎也不是最好的方法。 选项B 将这些js文件作为webpack捆绑包的一部分包含在内。这似乎是应该完成的方式。但是我不确定如何执行此操作,因为所有webpack代码似乎都隐藏在angular-cl

  • 问题内容: 对于AngularJS来说,这很陌生,我想我打算做的术语是延迟加载。我看过几个不同的博客,但没有找到纯粹使用AngularJS的完整工作解决方案。 我知道,如果将in 放到index.html中,则一切正常,我正在尝试减少在初始负载时减少的js数量。 脚本标签位于局部文件中时,它永远不会被加载,因此永远不会创建P1Ctrl。因此,当前,如果用户进入该应用程序而从未去过process55

  • 问题内容: 到处寻找它,找到答案却迷失了。有谁知道如何从另一个js文件加载外部.js文件? innerHTML可以工作,并且可以粘贴响应文本。问题在于JS无法在该文档中工作。jQuery.getScript应该正在加载该外部js文件,但不会加载 问题答案: 这是您将外部js文件加载到Jquery的方法

  • 本文向大家介绍JS加载器如何动态加载外部js文件,包括了JS加载器如何动态加载外部js文件的使用技巧和注意事项,需要的朋友参考一下 今天在网上找到了一个可以动态加载js文件的js加载器,具体代码如下: JsLoader.js JsLoader.js测试 测试结果如下:

  • 问题内容: 我有以下两个javascript函数: 1 2 我想将它们放在外部“ .js”文件中 1 2 调用这些函数的正确语法是什么? 问题答案: 像这样的代码 希望对您有帮助。…谢谢

  • 问题内容: 因此,我很难正常工作。我这样称呼它: 但是由于某种原因,在加载HTML页面时,不包含任何外部.js(我编写的实际上用于执行某些操作的文件)。我遵循以下重要的加载约定 有谁知道为什么没有正确加载?另外,pageshow函数也不会被触发,这很奇怪。看起来像这样: 现在,页面已呈现,但是没有任何功能发生。如果我入侵它并执行以下操作: 它将正常运行。 问题答案: jQuery Mobile不会