2016-08-11 121 views
1

我試圖通過角度2 quickstart工作,我遇到了這個錯誤消息。AngularJS 2 quickstart「GET /app/app.main.js」錯誤(404):「未找到」

Starting up http-server, serving ./ 
Available on: 
    http://127.0.0.1:8080 
    http://172.17.12.201:8080 
Hit CTRL-C to stop the server 
[Thu Aug 11 2016 16:27:57 GMT+0000 (UTC)] "GET /app/app.main.js" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36" 
[Thu Aug 11 2016 16:27:57 GMT+0000 (UTC)] "GET /app/app.main.js" Error (404): "Not found" 

的systemjs.config.js是建立正是因爲他們有它:

/** 
* System configuration for Angular 2 samples 
* Adjust as necessary for your application needs. 
*/ 
(function(global) { 
    // map tells the System loader where to look for things 
    var map = { 
    'app':      'app', // 'dist', 
    '@angular':     'node_modules/@angular', 
    'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api', 
    'rxjs':      'node_modules/rxjs' 
    }; 
    // packages tells the System loader how to load when no filename and/or no extension 
    var packages = { 
    'app':      { main: 'main.js', defaultExtension: 'js' }, 
    'rxjs':      { defaultExtension: 'js' }, 
    'angular2-in-memory-web-api': { main: 'index.js', defaultExtension: 'js' }, 
    }; 
    var ngPackageNames = [ 
    'common', 
    'compiler', 
    'core', 
    'forms', 
    'http', 
    'platform-browser', 
    'platform-browser-dynamic', 
    'router', 
    'router-deprecated', 
    'upgrade', 
    ]; 
    // Individual files (~300 requests): 
    function packIndex(pkgName) { 
    packages['@angular/'+pkgName] = { main: 'index.js', defaultExtension: 'js' }; 
    } 
    // Bundled (~40 requests): 
    function packUmd(pkgName) { 
    packages['@angular/'+pkgName] = { main: '/bundles/' + pkgName + '.umd.js', defaultExtension: 'js' }; 
    } 
    // Most environments should use UMD; some (Karma) need the individual index files 
    var setPackageConfig = System.packageWithIndex ? packIndex : packUmd; 
    // Add package entries for angular packages 
    ngPackageNames.forEach(setPackageConfig); 
    var config = { 
    map: map, 
    packages: packages 
    }; 
    System.config(config); 
})(this); 

的main.js被transpiled爲app/main.js。那麼會導致服務器嘗試路由到app/app/main.js?我搜索和搜索,沒有任何東西似乎是脫節,沒有人似乎有這個問題。有沒有其他的路線佈局?

更新:根據來自@Jayesh的請求我添加了一個文件結構的圖片。一切都應該在哪裏。 :)

file structure

回答

3

我跟着最新的教程和它完美的罰款。我想你已經用錯誤的名字製作了這個文件。而不是在應用程序文件夾內創建文件main.ts,例如:app/main.ts,您可能已經創建了一個名爲app/app.main.ts的文件,這可能會導致您正面臨的錯誤。

如果不是,那麼一小段文件夾結構可能有助於確定根本原因。

+0

我在上面添加它,因爲它不會讓我添加照片來評論。 :) – Erick

+0

我想通了,但讀你的評論讓我意識到發生了什麼,所以謝謝! – Erick

0

好的,問題是,本教程指定main.ts,它將轉換爲main.js.服務器正在尋找app.main.js.所以一旦我將文件更改爲app.main.ts,它就起作用了。在我閱讀@Jayesh的評論之後,我沒有看到錯誤消息,因爲它是藍色的紅色,看起來像是app/app/main.js。所以,感謝您的檢查。 :)