Нужен совет гуру. Есть директория, в которой лежат jade шаблоны. Хочу сделать простую компиляцию в html. То есть нужен простой принцип "cкомпилировать и выплюнуть". В некоторых js модулях, естественно, происходит require этих jade шаблонов, которые обрабатываются такой цепочкой
file!jade-html лоадеров в конфиге webpack. То есть сначала компилируется html, который передаётся в file-loader, который сохраняет скомпилированный вариант в директории. Проблема в том, что после запуска webpack в сборке создаётся дополнительные модули, из-за того что в js-точке входе имеется require("./tmpl.jade"). Как сделать так, чтобы лоадеры запускались, но наличие данного require не проводило к созданию модулей в сборке этой точки входа?
Пример:
webpack.config.js:
"use strict";
let path = require("path");
module.exports = {
context: __dirname,
entry: {
index: "./js/index"
},
output: {
path: path.resolve(__dirname, "./dist"),
filename: "./[name].min.js",
publicPath: "/"
},
plugins: [],
module: {
loaders: [
{ test: /\.jade$/, loader: "file?name=[name].html!jade-html" }
]
}
};
точка входа ./js/index.js:
"use strict";
require("./template.jade");
console.log("etc");
шаблон скомпилировался отлично и создался (dist/template.html), но это привело к созданию ненужного второго модуля в dist/index.min.js из-за require:
...
/* 0 */
/*!*************************!*\
!*** ./js/index.js ***!
\*************************/
function(module, exports, __webpack_require__) {
"use strict";
__webpack_require__(/*! ./template.jade */ 1);
console.log("etc");
},
/* 1 */
/*!********************************!*\
!*** ./js/template.jade ***!
\********************************/
function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "./dist/template.html";
}
...
Нужно чтобы на сборку js это не отражалось, то есть:
...
/* 0 */
/*!*************************!*\
!*** ./js/index.js ***!
\*************************/
function(module, exports, __webpack_require__) {
"use strict";
console.log("etc");
}
...
Как эта задача решается средствами webpack?