如何包括位于node_modules文件夹内的脚本?

如何包括位于node_modules文件夹内的脚本?,第1张

如何包括位于node_modules文件夹内的脚本?

通常,您不希望向外界公开服务器内部结构的任何内部路径。您可以做的是

/scripts
在服务器中建立一条静态路由,从它们碰巧驻留的任何目录中获取文件。因此,如果文件位于
"./node_modules/bootstrap/dist/"
。然后,页面中的脚本标签如下所示:

<script src="/scripts/bootstrap.min.js"></script>

如果您对nodejs使用express,那么静态路由就这么简单:

app.use('/scripts', express.static(__dirname + '/node_modules/bootstrap/dist/'));

然后,来自的所有浏览器请求

/scripts/xxx.js
都将自动从您的
dist
目录中获取
__dirname +/node_modules/bootstrap/dist/xxx.js

注意:较新版本的NPM会将更多内容放在顶层,而不是嵌套得太深,因此,如果您使用较新版本的NPM,则路径名将不同于OP的问题和当前答案中指示的名称。但是,概念仍然相同。您可以找到文件在服务器驱动器上的物理位置,并

app.use()
使用它们
express.static()
创建这些文件的伪路径,这样就不会将实际的服务器文件系统组织暴露给客户端。


如果您不想创建这样的静态路由,则最好将公共脚本复制到Web服务器确实视为的路径

/scripts
或要使用的任何顶级名称。通常,您可以将此复制作为构建/部署过程的一部分。


如果只想在目录中公开一个特定文件,而不是在该目录中找到所有文件,那么可以为每个文件手动创建单独的路由,而不要使用

express.static()
诸如:

<script src="/bootstrap.min.js"></script>

以及为此创建路线的代码

app.get('/bootstrap.min.js', function(req, res) {    res.sendFile(__dirname + '/node_modules/bootstrap/dist/bootstrap.min.js');});

或者,如果您仍想使用来描绘脚本的路由

/scripts
,则可以执行以下 *** 作:

<script src="/scripts/bootstrap.min.js"></script>

以及为此创建路线的代码

app.get('/scripts/bootstrap.min.js', function(req, res) {    res.sendFile(__dirname + '/node_modules/bootstrap/dist/bootstrap.min.js');});


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4960364.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存