如何在 Angular 控制器中使用 Browserified npm 包?
How to use Browserified npm package in Angular controller?
我花了几个小时寻找一种方法来使这个(或任何东西)与 Browserify 一起工作,但找不到任何证明对我的问题有用的教程或示例。几乎所有这些都只展示了如何混淆您的代码,但其中 none 展示了如何在浏览器化后实际访问代码本身。也许这只是一件非常简单的事情,以至于没有人愿意提及它,所以如果这实际上是一个愚蠢的问题,我深表歉意。
所以,我有这个实现用户名和密码验证的应用程序。我将 '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 中使用,因为我使用 Angular 根据用户当前(可能无效)的输入操作输入字段提供。
基本上,我想要的是在客户端和服务器端进行对称输入验证,方法是在两侧访问相同的模块,这已经为客户端进行了浏览器化。
我有运行以下命令:
browserify --standalone customValidator.js > clientSideValidator.js
然后在我的 jade 模板中包含 clientSideValidor.js 脚本
script(src='clientSideValidator.js')
我尝试访问 Angular 和 jade 本身的单独脚本中的函数,但每个函数总是 returns 未定义。我如何在我的客户端代码中 运行 类似 'validator.isAlphaNumeric($scope.username)' 的东西?
您需要给 browserify 一个名称,以便将所有内容导出到。
尝试 运行 并将 'myModuleName' 替换为您想要的名称
$ browserify customValidator.js --standalone myModuleName > clientSideValidator.js
我花了几个小时寻找一种方法来使这个(或任何东西)与 Browserify 一起工作,但找不到任何证明对我的问题有用的教程或示例。几乎所有这些都只展示了如何混淆您的代码,但其中 none 展示了如何在浏览器化后实际访问代码本身。也许这只是一件非常简单的事情,以至于没有人愿意提及它,所以如果这实际上是一个愚蠢的问题,我深表歉意。
所以,我有这个实现用户名和密码验证的应用程序。我将 '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 中使用,因为我使用 Angular 根据用户当前(可能无效)的输入操作输入字段提供。
基本上,我想要的是在客户端和服务器端进行对称输入验证,方法是在两侧访问相同的模块,这已经为客户端进行了浏览器化。
我有运行以下命令:
browserify --standalone customValidator.js > clientSideValidator.js
然后在我的 jade 模板中包含 clientSideValidor.js 脚本
script(src='clientSideValidator.js')
我尝试访问 Angular 和 jade 本身的单独脚本中的函数,但每个函数总是 returns 未定义。我如何在我的客户端代码中 运行 类似 'validator.isAlphaNumeric($scope.username)' 的东西?
您需要给 browserify 一个名称,以便将所有内容导出到。
尝试 运行 并将 'myModuleName' 替换为您想要的名称
$ browserify customValidator.js --standalone myModuleName > clientSideValidator.js