2016-09-03 23 views
2

webpackでES6を使用しようとしています。そのjavascriptモジュールのインポート/エクスポートのための大丈夫ですが、私は生のローダーを動作させることができません。ここで生のローダーでES6をインポート

は私のソースファイルに私がしようとしていますものです

import template from './template.html' 

template.htmlファイルは、その中に生のHTMLを持っています。

module.exports = { 
    context: __dirname, 
    entry: [ 
    'babel-polyfill', 
    './app/app.js', 
    ], 
    module: { 
    preLoaders: [ 
     { 
     test: /\.js$/, 
     include: __dirname + '/app/', 
     loader: 'eslint-loader', 
     }, 
    ], 
    loaders: [ 
     { 
     test: /\.js$/, 
     include: __dirname + '/app/', 
     loader: 'babel-loader?presets[]=es2015', 
     }, 
     { 
     test: /\.html$/, 
     include: __dirname + '/app/', 
     loader: 'raw-loader', 
     }, 
    ], 
    }, 
    output: { 
    path: './build/', 
    filename: 'app.js', 
    }, 
}; 

私はWebPACKのを起動すると、コードはように生成されます。それが唯一のエクスポートされなければならない"hello\n <div>..."文字列でなければなりません

module.exports = "module.exports = \" hello\\n <div>\\n <ul>\\n  <li ng-repeat... 

これに関する助力?私は本当にこれを行う方法を理解していない。

+1

"それはすべきです" ---そうでしょうか? https://github.com/webpack/raw-loader/blob/master/index.js#L8 – zerkms

+0

Nop。デフォルトのWebpackインポートでは、module.exports = "Hello ..."です。これは私のes6構成の問題です。 – Egg

+0

'' raw-loader'の代わりに['html-loader'](https://github.com/webpack/html-loader)を使ってみましたか? –

答えて

0

raw-loaderを使用してインポートすると、デフォルトのプロパティを持つオブジェクトが返されます(import *は './file'のテンプレートとしてインポートされます)。あなたはそれをあなたが望むものを得るためにtemplate.defaultと呼ぶことができます。ここで

simmillar issue

たそしてここで、あなたは一見にそれがあるとして、あなたがupdate code of raw loaderインポートした値を使用することができますどのように道を譲る傾けます。これでしばらくの間ちょっと試してみた

関連する問題