Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Chain-to loader for webpack that inlines all html and style's in angular2 components.

License

NotificationsYou must be signed in to change notification settings

TheLarkInn/angular2-template-loader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chain-to loader for webpack that inlines all html and style's in angular components.

Build StatusCoverageTaylor Swift

Quick Links

Installation

Install the webpack loader fromnpm.

  • npm install angular2-template-loader --save-dev

Chain theangular2-template-loader to your currently used typescript loader.

loaders:['awesome-typescript-loader','angular2-template-loader'],

Requirements

To be able to use the template loader you must have a loader registered, which can handle.html and.css files.

The most recommended loader israw-loader

This loader allows you to decouple templates from the component file and maintain AoT compilation. This is particularly useful when building complex components that have large templates.

Example Usage

Webpack

Here is an example markup of thewebpack.config.js, which chains theangular2-template-loader to thetsloader

module:{loaders:[{test:/\.ts$/,loaders:['awesome-typescript-loader','angular2-template-loader?keepUrl=true'],exclude:[/\.(spec|e2e)\.ts$/]},/* Embed files. */{test:/\.(html|css)$/,loader:'raw-loader',exclude:/\.async\.(html|css)$/},/* Async loading. */{test:/\.async\.(html|css)$/,loaders:['file?name=[name].[hash].[ext]','extract']}]}

Before

@Component({selector:'awesome-button',template:'button.template.html',styles:['button.style.css']})exportclassAwesomeButtonComponent{}

After (before it is bundled into your webpack'd application)

@Component({selector:'awesome-button',template:require('./button.template.html'),styles:[require('./button.style.css')]})exportclassAwesomeButtonComponent{}

How does it work

Theangular2-template-loader searches fortemplateUrl andstyleUrls declarations inside of the Angular 2 Component metadata and replaces the paths with the correspondingrequire statement.IfkeepUrl=true is added to the loader's query string,templateUrl andstyleUrls will not be replaced bytemplate andstyle respectively so you can use a loader likefile-loader.

The generatedrequire statements will be handled by the given loader for.html and.js files.

Common Issues

In some cases the webpack compilation will fail due to unknownrequire statements in the source.
This is caused by theway the template loader works.

The Typescript transpiler doesn't have any typings for therequire method, which was generated by the loader.

We recommend the installation of type defintions, which contain a declaration of therequire method.

About

Chain-to loader for webpack that inlines all html and style's in angular2 components.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp