5

WebpackでES6を使用しようとしています。JavaScript モジュールのインポート/エクスポートには問題ありませんが、raw-loader を動作させることができません。

これが私のソースファイルでやろうとしていることです

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 を起動すると、コードは次のように生成されます。

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

"hello\n <div>..."エクスポートする文字列のみにする必要があります。

これについて何か助けはありますか?これを行う方法が本当にわかりません。

4

1 に答える 1

4

raw-loader を使用してインポートすると、デフォルトのプロパティを持つオブジェクトが返されます ('./file' からのテンプレートとして * をインポートします)。これを template.default と呼んで、必要なものを取得できます。

ここに同様の問題がありました

ここでは、ローローダーのコードを更新して、インポートされた値をそのまま使用する方法を一目で説明することはできません。しばらくこれをいじっただけです

于 2017-03-05T23:22:48.403 に答える