2016-04-27 37 views
0

我开发一个Web应用程序就是这样:Node.js的不加载AngularJS意见

- 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' 
     } 
    ] 
    }); 

}); 
+0

我没有看到你指示的node.js服务于你的观点,你都写过。 –

+0

我没有,我只是指示node.js index.html。其余的应该是继续工作,这是不。 – Pablo

+0

如果你不指示node.js服务它,它不会。 –

回答

0

尝试使用

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

这对我有效,我只使用app.use静态内容(像你一样)像CSS和JS。

而且好像你的index.html是在公开目录

希望这有助于

+0

找不到文件:'''http:// localhost:3000/assets/...'' – Pablo

+0

那是在浏览器的控制台吗?听起来是因为它无法找到你的CSS的东西。在公共文件的路径中,只需试试'assets/blah'而不是'。/ assets/blah'。它也是现在找到你的HTML文件? :) – Olly

+0

对不起,静态文件的工作,但知道我有这样的:'GET GET HTTP:// localhost:3000/app/views/layouts/public.html 404(Not Found)''' – Pablo