如何在快递中使用npm-installed bootstrap?

Key*_*Lin 11 node.js twitter-bootstrap

我是Node.js开发的初学者,现在我尝试在我的第一个Express Web应用程序中使用bootstrap框架.

我用

npm install bootstrap
Run Code Online (Sandbox Code Playgroud)

下载文件,似乎npm将它们放在我的node_modules文件夹中.

我的问题是如何在Express中的视图中引用bootstrap文件?

我知道一种典型的方法是将引导文件复制到公用文件夹中.所以我的html文件可以找到它们.但我认为这不是一个好主意.

谢谢.

Vic*_*har 25

您需要在server.js中使用:

app.use(express.static(__dirname + '/node_modules/bootstrap/dist'));
Run Code Online (Sandbox Code Playgroud)

定义静态资源,然后使用:

<script language="javascript" src="js/bootstrap.min.js"></script>
<link rel="stylesheet" href="css/bootstrap.min.css"/>
Run Code Online (Sandbox Code Playgroud)

  • 您可能想为您的静态添加[虚拟路径前缀](https://expressjs.com/en/starter/static-files.html):`app.use(“ / bootstrap”,express.static(path .join(__ dirname,'/ node_modules / bootstrap / dist / css')));` (2认同)

mfr*_*het 3

您必须在标题或主脚本底部的<script>和标签中引用它。<link>

如果您使用的是 Express,那么您可能正在使用模板。要在标题部分或主模板中使用它(取决于您管理视图的方式),例如:

<script language="javascript" src="node_modules/bootstrap/.../bootstrap.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

<link rel="stylesheet" href="node_modules/bootstrap/.../bootstrap.min.css"/>
Run Code Online (Sandbox Code Playgroud)

仅当您没有通过 gulp 或 grunt 任务移动文件时,此功能才有效

  • 这应该如何运作?在标准快速设置中,“node_modules”文件夹对于浏览器不可见。 (4认同)