webpack.config.js
静的サイトの環境構築
webpack.config.js を使った、環境構築が難しい。
特に、webpack.config.js の書き方が難しい。
webpack.config.js だけで今の所やっているが、webpack-merge を使って、本番環境と開発環境を分けたほうが良いらしい。
webpack.common.jswebpack.dev.jswebpack.prod.js
↑ みたいな感じ
画像表示
src/img/test.png のように画像を入れた場合。
webpack.config.js
module.exports = {
...
resolve: {
alias: {
assets: path.resolve(__dirname, "src")
}
},
...
module: {
rules: [
{
test: /\.(png|jpg|jpeg|gif|svg)$/,
use: [
{
loader: "file-loader",
options: {
name: "/img/[name].[ext]"
}
}
]
}
]
...
}
}
scss 上では画像を読み込める。
test.scss
.test {
background: url("~assets/img/test.png");
}
ただ、pug 上で imgタグ を用いて画像を表示できなかったので調べる。
copy-webpack-plugin を使ってあらかじめ読み込んでおくと良いのかも表示できる?
無理やりやるとできた?
src/img/testtest.png のように画像を入れた場合。
context · webpack/docs Wikiのように、src/js/index.js に
src/js/index.js
function requireAll(req) {
return req.keys().map(req);
}
requireAll(require.context("../img", true, /[^\/]+.(png|jpg|jpeg|gif|svg)$/));
とかくと、
src/views/test.pug
img(src="./img/testtest.png")
で表示できた。
