对于许多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(公开的文件可能已经被缓存,因为其他网站正在使用。