У меня есть проект webpack, и я использую webpack-dev-server для его использования. Я хочу иметь возможность установить некоторые настройки в window.localStorage
, которые webpack может использовать при перезапуске с их параметрами live-reload
, чтобы определить, как начать. В devServer
я хочу, чтобы параметр open
мог динамически изменяться данными, которые находятся в localStorage
.
Возможно ли это каким-то образом? Файл называется webpack.config.babel.js
, используя babel/register
, чтобы иметь возможность использовать импорт на верхнем уровне.
Прямо сейчас console.log(window)
в начале файла конфигурации возвращает undefined. Как мне получить доступ к этому объекту?
// webpack.config.babel.js using babel/register
import HtmlWebPackPlugin from "html-webpack-plugin";
import MiniCssExtractPlugin from "mini-css-extract-plugin";
import { tabTracker } from "./src/actions/action_helpers";
module.exports = function(env, argv) {
console.log(window);
return {
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
},
{
test: /\.html$/,
use: [
{
loader: "html-loader",
options: { minimize: true }
}
]
},
{
test: /\.css$/,
use: [MiniCssExtractPlugin.loader, "css-loader"]
}
]
},
devServer: {
target: "web",
open: (() => console.log(window.localStorage))(),
proxy: {
...
}
},
plugins: [
new HtmlWebPackPlugin({
template: "./src/index.html",
filename: "./index.html"
}),
new MiniCssExtractPlugin({
filename: "[name].css",
chunkFilename: "[id].css"
})
]
};
};
// package.json
{
...,
"main": "index.js",
"scripts": {
"start": "webpack-dev-server --mode development",
},
...
}
Я пропустил некоторую информацию из файлов package. json и webpack.config.babel. js, которые не принадлежат.