【发布时间】:2021-02-05 15:48:53
【问题描述】:
我正在尝试在使用express 和ejs 构建的项目中使用intl-tel-input。
我的 app.js 中有 app.use(express.static(path.join(__dirname, 'public')));,这意味着 Express 提供我项目中公共目录中的所有静态文件。
我无法集成 intl-tel-input,因为它是一个节点模块,相关的 css 和 js 文件位于 /node_modules/intl-tel-input/build/...,Express 根本不提供它们。因此,当我尝试在我的 Ejs 模板中链接到它们时,我收到 404 错误。
我该如何解决这个问题?我的所有想法似乎都是错误的方法。
【问题讨论】:
-
您是否检查过“示例”:github.com/jackocnr/intl-tel-input/blob/master/examples/… 并将它们用作您工作中需要的框架
-
@RobertRowntree 是的,我看过了。它没有解决我的问题,因为这些示例没有显示使用 Express 时如何链接到源 css/js 文件。
-
这听起来像是 webpack 之类的打包工具可以解决的问题。在您启动应用程序之前,捆绑器(重新打包)在单独的构建步骤中解决了客户端与服务器的路径位置和不同需求
-
@RobertRowntree 我确实将 Webpack 视为一种可能的解决方案,但因为它会增加额外的复杂性而决定反对它。我以前从未使用过它,所以不得不做一些额外的工作。我发现this answer 是一个非常快速、有效和简单的解决方案。
标签: node.js express npm ejs intl-tel-input