所以我有一个 Node 服务器在 localhost:3002 上运行。该服务器正在提供一些静态 html 和纯 JavaScript 内容。我通过 Vue.js 应用程序上的 iFrame 访问此内容。
我的问题是当我使用
app.use(express.static('./game'));
我可以在该操作中包含 Node 模块吗?
我的理由是,在静态内容的纯 JavaScript 文件之一中,我想使用 require()
显然这是行不通的。
我知道我可以使用 <script>
直接从纯 JavaScript 文件访问我想要的模块。标签,但我真的不想直接将其发送到客户端。
有可能有像这样的东西吗? app.use(express.static('./game'), express.static('/node_modules/jsonwebtoken');
举个例子。
最佳答案
是的,可以,但不强烈推荐。您可以按如下方式解决。
app.use(express.static(path.resolve(__dirname, './game')))
app.use(express.static(path.resolve(__dirname, '../node_modules/jsonwebtoken')))
理想的情况是为每个区域(后端〜前端)实现不同的逻辑。这是在您正在开发客户端的给定情况下。
现在,如果您正在开发服务器端,逻辑已经改变,因为服务器直接在内部渲染 View 。
另一个需要强调的重点是,根据同一资源的后端和前端,它可能会导致一侧或另一侧的代码被破坏。用于对所述资源进行简单更新。
我希望它能澄清你的疑问。有疑问评论一下。
关于javascript - 通过express.static包含 Node 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61370472/