首页 > 解决方案 > 通过 express.static 包含一个节点模块

问题描述

所以我有一个在 localhost:3002 上运行的节点服务器。该服务器提供一些静态 html 和纯 JavaScript 内容。我正在通过 Vue.js 应用程序上的 iFrame 访问此内容。

我的问题是当我使用 app.use(express.static('./game'));Can I include a node module with this action?

我的理由是,在静态内容的纯 JavaScript 文件之一中,我想使用它require(),显然这不起作用。

我知道我可以使用<script>标签直接从纯 JavaScript 文件访问我想要的模块,但我真的不想直接将它发送到客户端。

有可能有这样的东西吗?app.use(express.static('./game'), express.static('/node_modules/jsonwebtoken');举个例子。

标签: javascriptnode.js

解决方案


是的,你可以,但不强烈推荐。您可以按如下方式解决。

app.use(express.static(path.resolve(__dirname, './game')))
app.use(express.static(path.resolve(__dirname, '../node_modules/jsonwebtoken')))

理想的情况是为每个区域(后端~前端)实现不同的逻辑。在给定的情况下,您正在开发客户端。

现在,如果您正在开发服务器端,则逻辑已经改变,因为服务器直接在内部呈现视图。

另一个需要强调的重点是,取决于同一资源的后端和前端,它可能会导致代码在一侧或另一侧被破坏。对于所述资源的简单更新。

我希望它能澄清你的疑问。有人怀疑评论它。


推荐阅读