<script src= " " ></script>前端项目中使用 JavaScript 库的正确方法吗?



对于许多JavaScript项目,如Bootstrap(你可能会说它只是一个CSS框架,无论如何这不是重点(,安装部分有两种方式。

第一种方法通常是这样的:

npm install bootstrap

第二种方法是我知道的:

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>

我的理解是,如果我使用node.js进行后端开发,那么npm是正确的方法。假设我使用其他后端(比如Python、Java(,并且JavaScript仅在客户端的浏览器上运行,那么我应该坚持<script src=""></script>方法。这通常是正确的吗?

另一个密切相关的问题是关于import语句的使用,例如import bootstrap from 'bootstrap'。我的理解是,这种语法只适用于node.js后端,如果不付出很多额外的努力,我就无法在HTML页面上使用它。这种理解正确吗?

我的理解是,如果我使用node.js进行后端开发,npm是正确的方法。

以前是真的,但现在很多web项目都有一个使用捆绑器(Webpack、Rollup、Vite、Parcel…(的构建步骤,这些捆绑器可以将web兼容的npm包捆绑到客户端代码中,创建优化的文件(包括这些npm包的相关部分(,然后用作前端代码。

script解决方案是在没有bundler的情况下实现这一点的基本方法。

另一个密切相关的问题是关于import语句的使用,例如从"bootstrap"导入bootstrap。我的理解是,这种语法只适用于node.js后端。。。

虽然在基于浏览器的代码中使用模块说明符(from "./somefile.js"(上的路径或导入映射(新的、实验性的但正在成熟的(,但这不再是真的。现在所有的现代浏览器都支持本机模块。

这两种风格对应于两种不同的web开发方法。

";第一种方式";(npm install等等(作为"安装"的一部分是有意义的;构建步骤";在那里你将使用一个工具来构建暴露在互联网上的文件。这适用于有大量源文件的大型项目,在这些项目中,您将需要linting、重构等;付出了很多努力;对于一个单一的项目,但有很多东西需要学习。你可以从webpack文档开始。

";第二种方式";(<script…(将允许您直接指定要加载的资源,而不需要";构建步骤";。这适用于只有几个文件的较小项目。它的好处是,通过主流CDN(如cdnj(公开的文件可能已经被缓存,因为其他网站正在使用。

最新更新