Я недавно начал изучать Angular2, и поскольку я уже знал немного Webpack, я хотел использовать их вместе. Я последовал за некоторыми руководствами и учебниками онлайн, чтобы придумать довольно простое приложение, единственная проблема, с которой я сейчас сталкиваюсь, заключается в том, что я не могу ее запустить. Я думаю, что я сделал все правильно, но, несмотря на то, что тег компонента, где приложение должно быть смонтировано, остается пустым. Мои файлы являются следующие:Angular2 и Webpack bootstraping
main.ts
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
platformBrowserDynamic().bootstrapModule(AppModule);
webpack.config.js
const webpack = require('webpack');
module.exports = {
entry: './public/main.ts',
output: {
path: './dist',
filename: 'app.bundle.js'
},
module: {
loaders: [
{
test: /\.ts$/,
loader: 'awesome-typescript-loader!angular2-template-loader'
},
{
test: /\.html$/,
loader: 'html'
}
]
},
resolve: {
extensions: ['', '.ts', '.js']
},
}
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"experimentalDecorators": true,
"module": "commonjs",
"typeRoots": [
"./node_modules/typings/"
],
"types": [
"core-js"
]
},
"exclude": [
"node_modules",
"typings/main",
"typings/main.d.ts"
]
}
index.html
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Songs App</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<script src="../node_modules/zone.js/zone.js"></script>
<script src="../node_modules/reflect-metadata/Reflect.js"></script>
<script src="./../dist/app.bundle.js"></script>
<song-app></song-app>
</body>
</html>
Компонент элемент приложение является <song-app>
. Любая помощь будет принята с благодарностью.
РЕДАКТИРОВАТЬ 1:
app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './components/App.component';
import { AppRoutingModule, routingComponents } from './app.routing';
@NgModule({
imports: [
BrowserModule,
AppRoutingModule
],
declarations: [
AppComponent,
routingComponents
],
bootstrap: [ AppComponent ]
})
export class AppModule {}
EDIT 2:
app.component
import { Component } from '@angular/core';
@Component({
selector: 'song-app',
templateUrl: './App.component.html'
})
export class AppComponent {
title = 'Song List App';
}
Шаблон, который я использую, - это просто простой div с переменной title внутри.
ли вы рассмотреть возможность использования угловых кли? –
Можете ли вы добавить код AppModule на вопрос? –
@ R.Richards Отредактировал вопрос, чтобы включить файл app.module в соответствии с запросом. –