Webpack - ignorar carregadores em require ()?
Eu tenho um projeto TypeScript que estou empacotando com o Webpack. É um aplicativo de demonstração / docs para uma lib de código aberto que estou escrevendo, então quero mostrar um pouco do código-fonte como parte dos documentos.
Na minha configuração do webpack, tenho:
loaders: [
{ test: /\.ts$/, loader: 'ts'},
{ test: /\.css$/, loader: 'style!raw' },
{ test: /\.html/, loader: 'html' }
]
que funciona bem para transpilar e agrupar meus arquivos TypeScript. Em um dos componentes do meu aplicativo, faço isso:
basicCodeT: string = require('./basic-example-cmp.html');
basicCodeC: string = require('!raw!./basic-example-cmp.ts');
para carregar o código-fonte em uma string que eu quero exibir nos documentos.
Como você pode ver, há uma liderança!
na segunda linha que descobri parece "ignorar" os carregadores padrão da configuração e carrega o TypeScript bruto como uma string.
Na minha compilação de desenvolvimento, isso funciona, mas quando faço uma compilação de "produção" com o UglifyJsPlugin e OccurrenceOrderPlugin, recebo a seguinte saída:
ERROR in ./demo/src/basic-example-cmp.html
Module build failed:
@ ./demo/src/demo-app.ts 24:26-61
que corresponde à linha na fonte em que tento exigir o TypeScript bruto.
Assim,Eu quero passarbasic-example-cmp.ts
através do compilador TS como parte da compilação do aplicativo, masAlém disso deseja exigi-lo como texto bruto no aplicativo.
Minha pergunta então é:Existe uma maneira adequada de dizer ao webpack para "ignorar" carregadores em casos específicos?
É a minha maneira de anexar um!
corrigir? É um hack?
Acontece que meu problema é simplesmente devido à maneira como o Webpack lida com modelos HTML - ele não gosta da sintaxe do modelo Angular 2, consulte:https://github.com/webpack/webpack/issues/992