如何更改Angular 2目录路由?
问题描述:
我开始使用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 { }
答
这个配置在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
...
},
...
答
通常它是有点不好的做法,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',
谢谢!你是对的,只是我改变了systemjs中的路线。和应用程序:) – Danny908