Node.js 使用jade的平均堆栈,在哪里放置特定于页面的JS?

Node.js 使用jade的平均堆栈,在哪里放置特定于页面的JS?,node.js,express,pug,Node.js,Express,Pug,我有一个应用程序在平均堆栈上运行。我正在使用jade作为模板,并想知道在哪里放置页面特定的javascript。现在,我的目录如下所示: app/ |- public | |- js | |- css |- views |- routes |- schemas 我的一个观点是signup.jade,我需要包含一些javascript: $(function() { $.validator.addMethod("passwordStrength", function

我有一个应用程序在平均堆栈上运行。我正在使用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文件


如果任何人有任何关于平均文件结构的最佳实践作为一个整体的好文章,也将不胜感激,谢谢

根据我的经验,如果脚本只使用一次,那么将脚本保存在相应的jade视图中是完全正确的

但是,您可以使用帮助程序创建目录并将此脚本移动到此目录,只需创建一个普通js文件,然后通过添加变量将其添加到页面上,并将其值设置为文件内容。它可能看起来更干净一点,允许您将js lint应用于助手等,但需要做更多的工作。

下面是我的代码是如何组织的。我们使用的是yeoman的角度全堆栈发生器。在我提供的图像中,home.html是控制器为home.js的局部视图。我建议您为创建的每个html部分页面创建一个单独的文件。事实上,一个好的角度页面应该有用户定义的指令,以及相应的控制器将作用域连接到指令中,以及管理已提供的作用域的指令。它使它保持整洁/简单/美丽。如果你有机会并且负担得起,那就买这本书。它是美丽的,否则甚至是惊人的