如何从 HTML 中的节点模块引用 js 文件?

How do I reference a js file from a node module in HTML?

我使用 JetBrains WebStorm 创建了一个 Node.js Express 应用程序。我使用 npm(通过 File->Settings->Node.js 和 NPM)安装一个名为 validator 的包,用于字符串验证。

软件包安装在node_modules下,没问题。如果我在服务器代码中执行 var validator = require('validator');,我可以成功使用验证函数。

问题是我也想在客户端使用验证器JavaScript。我可以像这样包含脚本:

<script src="/javascripts/xss-filters.min.js"></script>

但这意味着我必须将 xss-filters.min.jsnode_modules 文件夹复制到 public javascripts 文件夹。然后,如果我用 npm 更新包,文件将不同步。

有没有什么方法可以从我的角度引用 node_modules,或者创建某种链接文件或文件引用之类的?我宁愿不必手动维护它。

您应该考虑使用 browserify,它允许您通过构建所有依赖项来在浏览器中要求模块。所以基本上你的代码就像你在服务器端所做的那样 http://browserify.org

您可以使用另一个名为 node-browserify

的 node.js 模块来完成
  • how to use node.js module system on the clientside

您可以尝试使用bower, or yeoman。 bower - 将简化包含 js 库的过程。 yeoman - 将帮助您使用所需的库构建项目。