导入js库或在html <script> 标签中引用有什么区别

IT技术 javascript html reactjs webpack
2021-05-05 11:33:17

我目前正在使用带有 react js 的 webpack。我是新手,对导入依赖项有疑问。在传统方式中,我们通常从<script>html 中标签中导入第三方库现在我可以通过运行下面的代码在 javascript 中完成它。我想知道这两种方法之间的区别是什么。它们是否被导入到同一个命名空间?还有其他区别吗?

import $ from 'jquery'
import React from 'react';
import ReactDOM from 'react-dom';
import load from 'little-loader';
1个回答

你会注意到的WebPack生成JS文件通过包括<script>标签。这是“捆绑”文件。你总是<script>在页面上有一个标签。

什么 Webpack/Browserify/等。做,他们是否需要几个不同的 JS 文件并将它们组合成一个 JS 文件以通过<script>标签加载所以这:

<script src="jquery.js" type="text/javascript"></script>
<script src="app.js" type="text/javascript"></script>

...变成这样:

<script src="bundle.js" type="text/javascript"></script>

jQuery 和您所有的app.js代码现在都在bundle.js文件中。Webpack 还将确保一切都按正确的顺序排列,以便 jQuery 在app.js代码之前运行这就是为什么你有这条线:

import $ from 'jquery'

...或在 ECMAScript 5 中:

var $ = require('jquery');

这告诉捆绑器您依赖于 jQuery,因此它可以确保 1) 包含和 2) 以正确的顺序包含。