webpack.config.js
静的サイトの環境構築
webpack.config.js
を使った、環境構築が難しい。
特に、webpack.config.js
の書き方が難しい。
webpack.config.js
だけで今の所やっているが、webpack-merge
を使って、本番環境と開発環境を分けたほうが良いらしい。
webpack.common.js
webpack.dev.js
webpack.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")
で表示できた。