2016-09-21 76 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',