Node.js没有加载AngularJS视图

时间:2016-04-27 19:47:39

标签: angularjs node.js

我正在开发一个类似的Web应用程序:

- project
--- app
------ controllers
------ views
------ app.js
--- public
------ assets
--------- css
--------- js
--------- img
--- index.html

...在我的index.html里面我有基本的html,链接,脚本标签。所有加载角度应用程序,一切都工作正常。

但是现在,我需要使用Node.js加载所有应用程序。

首先,我将index.html移动到public /并创建一个新文件。

index.js(Node.js)

app.use("/", express.static(path.join(__dirname, 'public')));

app.get('/', function(req, res) {
    res.sendFile(path.join(__dirname + '/index.html'));
});

app.listen(3000, function () {
    console.log('Example app listening on port 3000!');
});

运行我在浏览器控制台上获得的Node.js:

GET http://localhost:3000/app/views/layouts/public.html 404 (Not Found)

这就是我加载角度视图的方法

app.config(function($urlRouterProvider, stateHelperProvider) {

  $urlRouterProvider.otherwise('/');
  $urlRouterProvider.when('', '/');

  stateHelperProvider.state({
    name: 'public',
    title: 'Home',
    url: '/',
    controller: 'PublicCtrl',
    templateUrl: '/app/views/layouts/public.html',
    data: {
      requireLogin: false
    }
  })
  .state({
    name: 'private',
    controller: 'PrivateCtrl',
    templateUrl: '/app/views/layouts/private.html',
    data: {
      requireLogin: true
    },
    children: [
      {
        name: 'browse',
        title: 'Home',
        url: '/browse',
        templateUrl: '/app/views/browse/index.html',
        controller: 'BrowseCtrl'
      }
    ]
  });

});

1 个答案:

答案 0 :(得分:0)

尝试使用

figure

这对我有用,我只使用app.use作为静态内容(就像你一样),如css和js。

你也写过它,好像你的index.html在你的公共目录中

希望这有帮助