[英]MEAN stack using jade, where to put page specific JS?
我有一个在MEAN堆栈上运行的应用程序。 我正在将jade用于模板,并且想知道在哪里放置页面特定的javascript。 现在我的目录如下:
app/
|- public
| |- js
| |- css
|- views
|- routes
|- schemas
我的观点之一signup.jade
,我需要包含一些javascript:
$(function() {
$.validator.addMethod("passwordStrength", function( value, element ) {
console.log("here")
var result = this.optional(element) ||
/^[a-zA-Z0-9- ]*$/.test(value) &&
/\d/.test(value) &&
/[a-z]/i.test(value);
if (!result) {
var validator = this;
}
return result;
}, "Your password must contain at least one number and one special character.");
$('#signup').validate({
rules: {
email: {
required: true
},
password: {
required: true,
passwordStrength: true,
minlength: 6
},
"repeat-password": {
required: true,
passwordStrength: true,
minlength: 6
}
}
});
});
放置这个的最佳位置在哪里? 我要为app / public / js内的每个页面创建一个javascript文件吗?
如果有人对MEAN文件结构最佳做法有整体的好的介绍,也将不胜感激,谢谢!
根据我的经验,如果只使用一次脚本,将脚本保留在相应的玉器视图中是完全可以的。
但是,您可以使用助手创建目录,并将此脚本移动到该目录(只需创建一个普通的js文件),然后通过添加变量将其添加到页面上并将其值设置为文件内容。 它看起来可能更干净(并允许您将js lint应用于助手等),但需要做更多的工作。
这是我的代码的组织方式。 我们正在使用yeoman的角度全栈生成器。 在我提供的图像中,home.html是其控制器为home.js的部分视图。 我建议您为创建的每个html部分页面创建一个单独的文件。 实际上,一个好的角度页面应该具有用户定义的指令,并且各个Controller将范围钩接到指令中,并且这些指令管理已提供的范围。 它使它保持整洁/简单/美观。 如果您有机会并负担得起,请购买ng-book。 它很漂亮,甚至角度指导也很棒。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.