angularjs - Grails - 使用 AngularJS 的登录页面

标签 angularjs grails

我想使用 AngularJS 构建登录页面,但在显示它时遇到问题。

这是我的登录页面 web-app/apps/loginPage/app.js:

var app = angular.module('login-app', [
    'ngRoute'
]);

app.config(function ($routeProvider) {
    $routeProvider.
        when('/', {
            templateUrl: 'apps/loginPage/views/login.html'
        }).
        otherwise({
            redirectTo: '/'
        });
    });

这是我的grails-app/views/login/auth.gsp代码:

<html>
<head>
    <meta name='layout' content='main'/>
    <script src="${resource(dir: 'js', file: 'jquery-1.9.1.js')}"></script>
    <script src="${resource(dir: 'js', file: 'angular.js')}" ></script>
    <script src="${resource(dir: 'js', file: 'angular-route.js')}"></script>
    <script src="${resource(dir: 'apps/loginPage', file: 'app.js')}"></script>
</head>
<body>
    <div ng-app="login-app">
        <div ng-view>
    </div>
</body>
</html>

问题是,当我导航到 http://localhost:8080/myApp/login/auth 时,页面加载 Angular 应用程序,但不从 login 加载登录表单。 html 文件,因为它尝试在 http://localhost:8080/myApp/login/apps/loginPage/views/login.html 而不是 http:/下找到它/localhost:8080/myApp/apps/loginPage/views/login.html

如何修复路径?如何告诉 Angular 使用 localhost:8080/myApp 作为资源的根? (请注意,我在 grails-app/views 中有 *.gsp 文件,在 web-app/apps/ 中有 Angular 应用程序)

我不知道是否是配置 Grails 或 Angular 的问题。

最佳答案

在使用 Grails 和 Angular 完成 3 个项目的经验之后,我建议您使用纯 Angular 来完成整个前端部分。我什至没有在 Angular 中混合 GSP,而是使用带有 Handlebars 的纯 HTML 并通过 Angular-translate 进行本地化。应用程序登录是通过Spring Security AJAX登录实现的。

如果您将前端与后端完全分离,您可以在前端使用现有的脚手架工具,例如 Yeoman 或 Brunch。 HTML 片段的传递还可以被缓存、压缩等。

关于angularjs - Grails - 使用 AngularJS 的登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21959463/

相关文章:

angularjs - Node/Express - POST 请求从远程服务器接收 zip,传回客户端

javascript - ng-click 在 Angular Directive(指令)中 - 从根范围传递函数

grails - Groovy Grails工具套件安装

excel - 读取 XLSX 文件并将数据存储在 Grails 中的有效方法

Grails Mail 插件 sendMail 钩子(Hook)

javascript - Angular请求-拉取动态参数

angularjs - 带有 Angular 1 和 Bower 的 Webpack

javascript - angularjs 可拖动指令在内部显示值

rest - Grails,Spring Security和Angular JS-如何保护URL?

grails - 在 Jenkins 上运行 Geb 测试