我开始使用Angular 2,我一直在使用官方文档中的Quickstart proyect,但我不喜欢“'应用程序中的所有内容混合”# 39;文件夹,所以我在其中创建一个文件夹并更改路由,但我在控制台中收到此错误
http://localhost:3000/app/main.js 404(未找到)
这是proyect的结构: enter image description here
这是我在路线中所做的更改:
主要/ 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 { }
答案 0 :(得分:1)
此配置在main.ts文件中设置,此文件应放在app /文件夹中,而不是放在名为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
...
},
...
答案 1 :(得分:0)
通常将所有这些组件分发到自己的文件夹是一种不好的做法。您希望将所有组件保留在一个文件夹中,并将该文件夹位置映射出去。你的问题是路径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>
或者像你这样的系统
map: {
app: 'app/main',