2

Webpack を使用するようにサイトを移行していますが、構成について少し助けが必要です。Pug/Jadeで書かれたページがいくつかありますが、それらは大きくてあまりアクセスされません (利用規約やプライバシー ポリシーを考えてみてください)。私のファイルのほとんど.jadeはAngularテンプレートであるため、それらはコンポーネントにインライン化されており、うまく機能します. ただし、これらのいくつかのファイルは、アプリの残りの部分とは別に提供される静的な HTML ファイルに Webpack をコンパイルしたいと考えています。ただし、ファイル名にハッシュを含めたいと思います。

私が思いついた基本的なアイデアは次のようなものです。

routes.ts

$routeProvider.when('/_tos', templateUrl: require('./resources/terms-of-service.jade'))

のローダーwebpack.config.jsのリスト:

{
  test: /resources.*\.jade$/,
  loaders: ['file?name=[name].[hash].html', 'pug-html']
}

pug- loader、 pug- html-loader (?exports=falseオプションの有無にかかわらず)、html-loaderextract-loaderextract-text-webpack-plugin、およびfile-loaderのさまざまな組み合わせで試しましたが、すべて結果のファイルに余分なアーティファクトがあり.htmlます。たとえば、 で始まるmodule.exports =\"、ファイル内のどこにでもあるはずです"

誰でも助けることができますか?

4

1 に答える 1

1

ガッ!私はついにそれを理解しました。ローダーのリストが機能する方法を根本的に誤解していました。一致した配列内の最初のローダーのみが使用されたと仮定しましたが、そうではなく、一致したすべてのローダーが使用されます。(詳細についてはまだ曖昧ですが。)これが実際の構成です。resources「resources」ディレクトリへのパスは次のとおりです。

loaders: [
  {
    test: /\.jade$/,
    include: [resources],
    loaders: ['file?name=[name].[hash].html', 'pug-html?exports=false']
  },
  {
    test: /\.jade$/,
    exclude: [resources],
    loaders: ['pug-html?doctype=html']
  }
]
于 2016-11-12T17:58:22.593 に答える