AngularJS 2快速入门“GET /app/app.main.js”错误(404):“未找到”

时间:2016-08-11 16:42:23

标签: angularjs

我正试图通过角度2快速入门,我遇到了这个错误信息。

    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被转换为app / main.js。那么是什么导致服务器尝试路由到app / app / main.js?我进行了搜索和搜索,似乎没有什么东西可以脱节,似乎没有其他人有这个问题。是否有其他地方的路线布局?

更新:根据@Jayesh的请求,我正在添加文件结构的图片。一切都应该是。 :)

file structure

2 个答案:

答案 0 :(得分:3)

我遵循了最新的教程,它完美无缺。我认为你的文件名错了。而不是在app文件夹中创建文件main.ts,即:app / main.ts,你可能创建了一个名为app / app.main.ts的文件,这可能导致你所面临的错误。

如果没有,那么一小段文件夹结构可能有助于确定根本原因。

答案 1 :(得分:0)

好的,问题是教程指定了main.ts,它转换为main.js.服务器正在寻找app.main.js.所以,一旦我将文件更改为app.main.ts,它就可以了。在我阅读@Jayesh的评论之前,我没有看到错误消息,因为它是蓝色的红色,看起来像app / app / main.js。所以,谢谢你把它检查出来。 :)