2016-09-21 107 views
1

我開始使用Angular 2,我一直在使用官方文檔中的Quickstart proyect,但我不喜歡'app'文件夾中的所有東西都混合在一起,所以我在其中創建了一些文件夾並更改路線,但我得到這個錯誤在控制檯如何更改Angular 2目錄路由?

http://localhost:3000/app/main.js 404(未找到)

這是proyect的結構: enter image description here

這是我做的改變ro茨:

主/ main.ts

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 
import { AppModule } from '../module/app.module'; 

const platform = platformBrowserDynamic(); 
platform.bootstrapModule(AppModule); 

模塊/ app.module.ts

import { NgModule }  from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 
import { AppComponent } from '../components/app_component/app.component'; 

@NgModule({ 
    imports:  [ BrowserModule ], 
    declarations: [ AppComponent ], 
    bootstrap: [ AppComponent ] 
}) 

export class AppModule { } 

回答

1

這個配置在main.ts文件中設置這個文件應該放在正確的內部應用程序/文件夾,而不是在名爲main的子文件夾中。這個文件是主要的應用程序,它可以告訴index.html文件在哪裏查找應用程序文件。

你這裏有兩種選擇:

1 - 將main.ts文件app/main.ts

2 - 改變你的systemjs.config.js指向您的主文件夾

... 
packages: { 
    app: { 
    main: './main/main.js', // here you can set the new folder 
    ... 
    }, 
... 
+0

謝謝!你是對的,只是我改變了systemjs中的路線。和應用程序:) – Danny908

0

通常它是有點不好的做法,SUB OUT所有這些組件的擁有文件夾。您希望將所有組件保留在一個文件夾中並將該文件夾位置映射出去。你的問題是路徑http://localhost:3000/app/main.js不存在。其實際上http://localhost:3000/app/main/main.js你需要定義這個地方。也許您的index.html,它應該是這樣的

<script> 
     System.import('app/main') 
     .then(null, console.error.bind(console)); 
</script> 

或者你systemjs這樣

map: { 
     app: 'app/main',