Javascript 如何在角度控制器中使用棕色系列化的npm软件包?

Javascript 如何在角度控制器中使用棕色系列化的npm软件包?,javascript,angularjs,node.js,pug,browserify,Javascript,Angularjs,Node.js,Pug,Browserify,我花了好几个小时寻找一种方法来处理Browserify,但找不到任何对我的问题有用的教程或示例。几乎所有的代码都只显示了如何修改代码,但没有一个显示了在代码被浏览之后如何实际访问代码本身。也许这只是一个非常简单的问题,没有人愿意提及,所以如果这是一个愚蠢的问题,我很抱歉 所以,我有一个实现用户名和密码验证的应用程序。我将“validator”npm包与OWASP推荐的密码复杂性包结合使用,以验证节点中服务器端的输入。根据我对Browserify项目的了解,我应该能够浏览需要这些包的模块,并在客户

我花了好几个小时寻找一种方法来处理Browserify,但找不到任何对我的问题有用的教程或示例。几乎所有的代码都只显示了如何修改代码,但没有一个显示了在代码被浏览之后如何实际访问代码本身。也许这只是一个非常简单的问题,没有人愿意提及,所以如果这是一个愚蠢的问题,我很抱歉

所以,我有一个实现用户名和密码验证的应用程序。我将“validator”npm包与OWASP推荐的密码复杂性包结合使用,以验证节点中服务器端的输入。根据我对Browserify项目的了解,我应该能够浏览需要这些包的模块,并在客户端加载它们

我的customValidator.js模块现在如下所示:

var validator = require('validator')
var owasp = require('owasp-password-strength-test')

module.exports = {
  validator: validator,
  owasp: owasp,
  containsUsername: function(password, username) {
    return (new RegExp(username, 'i')).test(password)
  }
}
我也想在客户端使用这些函数,最好在AngularJS中使用,因为我使用AngularJS根据用户提供的当前(可能无效)输入操作输入字段

基本上,我想要的是客户端和服务器端的对称输入验证,通过访问客户端已浏览的相同模块

我已运行以下命令:

browserify --standalone customValidator.js > clientSideValidator.js
然后将clientSideValidor.js脚本包含在我的jade模板中

  script(src='clientSideValidator.js')

我曾尝试在jade本身中访问Angular和单独脚本中的函数,但每个函数总是返回未定义的。如何在客户端代码中运行类似于“validator.isAlphaNumeric($scope.username)”的东西?

您需要为browserify指定一个名称才能将所有内容导出到

尝试运行此命令,并用您想要的名称替换“myModuleName”

$ browserify customValidator.js --standalone myModuleName > clientSideValidator.js

您需要为browserify指定一个名称以将所有内容导出到

尝试运行此命令,并用您想要的名称替换“myModuleName”

$ browserify customValidator.js --standalone myModuleName > clientSideValidator.js

我想你需要给standalone一个名称来导出所有内容到Rowserify customValidator.js--standalone myModuleName>clientSideValidator.js我想你需要给standalone一个名称来导出所有内容到Rowserify customValidator.js--standalone myModuleName>clientSideValidator.js这确实是个问题,非常感谢。我看过关于独立功能的文档,但从未注意到它需要额外的“myModuleName”参数,我可能一直在寻找它。我现在可以从myModuleName对象访问Angular中的函数了。这确实是个问题,非常感谢。我看过关于独立功能的文档,但从未注意到它需要额外的“myModuleName”参数,我可能一直在寻找它。现在,我可以从myModuleName对象访问Angular中的函数。