簡體   English   中英

ui-router在nodejs文件夾中不起作用,但在plunker上起作用

[英]ui-router doesn't work from nodejs folder but works on plunker

ui-router應該將index.html作為標題,將test.html作為附加視圖,但是由於某些原因,它在我的計算機上不起作用。 插拔一件作品很棒。

index.html與在plunker上相同

<html ng-app="MyApp">
<head>
  <link href="stylesheets/style.css" rel="stylesheet">
</head>
<body>

<h4>
    This should be the header
</h4>
<div ui-view></div>

<script data-require="angular.js@*" data-semver="1.3.0-beta.5" src="https://code.angularjs.org/1.3.0-beta.5/angular.js"></script>
<script data-require="ui-router@*" data-semver="0.2.10" src="https://rawgit.com/angular-ui/ui-router/0.2.10/release/angular-ui-router.js"></script>
<script src="app.js"></script>
<script src="controllers/main.js"></script>

</body>
</html>

views / test.html僅包含

<div>
this is test.html
</div>

和app.js包含

    angular.module('MyApp', [
  'ui.router'
])
.config(function($stateProvider, $urlRouterProvider) {

    $urlRouterProvider.otherwise('/');

    $stateProvider
        .state('main', {
            url: '/',
            templateUrl: 'vews/test.html',
            controller: 'MainCtrl'
          });
})

如果需要,這是server.js

    var express = require('express');
var path = require('path');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var bcrypt = require('bcryptjs');

var app = express();

app.set('port', process.env.PORT || 3000);
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.listen(app.get('port'), function() {
  console.log('Express server listening on port ' + app.get('port'));
});

我不知道為什么ui-router可以在plunker上工作,但不能在我的計算機上工作。

如果the子正在工作,那么您當地的東西也應該是-我看不到任何明顯的錯誤。

但是有區別。 通常在插件中,我們不使用嵌套(子文件夾,例如viewscontrollers 而在您的朋克中-與您的摘要相比,問題是:

矮人:

$stateProvider
    .state('main', {
        url: '/',
        templateUrl: 'test.html',
        controller: 'MainCtrl'
      });

上面的代碼段:

$stateProvider
    .state('main', {
        url: '/',
        templateUrl: 'vews/test.html',
        controller: 'MainCtrl'
      });

看起來好像您在templateUrl中有一個錯字,其中是:'vews / test.html',而不是views 這可能是問題嗎?

另外,與上述與子文件夾有關的問題,還有一些小錯誤(在Chrome中單擊F12並檢查控制台)...我在此fork中修復了它們

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM