Я новичок в разработке React с Webpack, настроив шаблон, следуя этой статье .
Я получил представление о том, как работает веб-пакет, и могу следовать этой статье, но не могу понять, как мой конкретный webpack.config.js
создает файлы и пакеты, которые он делает, и как изменить их для достижения некоторых пользовательских функций.,
webpack.config.js
const HtmlWebPackPlugin = require("html-webpack-plugin");
module.exports = {
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
},
{
test: /\.html$/,
use: [
{
loader: "html-loader"
}
]
}
]
},
plugins: [
new HtmlWebPackPlugin({
template: "./src/index.html",
filename: "./index.html"
})
],
mode: 'development'
};
Я понимаю, что объект rules
захватывает все файлы .js
(кроме файлов в node_modules) и компилирует их встандартный JS с использованием Babel.Затем он захватывает все файлы .html
и создает html-файл, включая пакет, используя html-loader
.HtmlWebPackPlugin
реализован здесь.Режим указывает на создание разрабатываемой версии пакета.
Моя структура папок выглядит следующим образом:
- /dist (generated by webpack)
- index.html
- main.js (webpack bundle)
- /src (created manually)
- /components
- components.js (react components)
- index.html
- index.js
- .babelrc
- package.json (npm init -y)
- webpack.config.js (manually configured)
Вопросы:
- Webpack создает каталог
/dist
и содержащиеся в нем файлыв этом.Где в конфигурации указано, что этот каталог называется "dist", а основной файл комплекта - main.js
? - Где указано, что
/dist
будет в корне проекта.Предположим, я хотел, чтобы каталог имел имя foo
и поместил его на два уровня вверх (../../foo/
) - В
webpack.config.js
у объекта "rules" есть ключи, определенные как test
для указания типов файлов для объединения,test: /\.js$/,
& test: /\.html$/
«проверить» произвольное значение или конфигурационный ключ веб-пакета по умолчанию.
Я просматривал эти документы в отношении конфигурации веб-пакета, но синтаксис сильно отличался от показанного здесь.