У меня следующая структура каталогов.
dist
- bundle.js
public
- index.css
- index.html
src
- index.js
и следующая конфигурация веб-пакета для go с ним.
const path = require("path");
const webpack = require("webpack");
module.exports = {
entry: "./src/index.js",
mode: "development",
module: {
rules: [
{
test: /\.(js)$/,
exclude: /(node_modules|bower_components)/,
loader: "babel-loader",
options: { presets: ["@babel/env"] }
},
{
test: /\.css$/,
use: ["style-loader", "css-loader"]
}
]
},
resolve: { extensions: ["*", ".js"] },
output: {
path: path.resolve(__dirname, "dist/"),
publicPath: "/dist/",
filename: "bundle.js"
},
devServer: {
contentBase: path.join(__dirname, "public/"),
port: 3000,
publicPath: "http://localhost:3000/dist/",
hotOnly: true
},
plugins: [new webpack.HotModuleReplacementPlugin()]
};
Проблема в том, что мой .gitignore
имеет Каталог dist
в нем, просто потому, что в руководстве сказано, что это лучшая практика.
Я создаю веб-страницу, используя webpack --mode production
.
Теперь проблема в том, что я хочу иметь возможность sh до ветви gh-pages
с минимально возможными изменениями. В идеале я бы хотел, чтобы gh-pages
отслеживал master
, но, возможно, это невозможно.
Страницы Github автоматически обслуживают index.html
, расположенный в root, поэтому есть несколько проблем.
dist
находится в Gitignore, поэтому bundle.js
не выдвигается до gh-pages
.
index.html
находится в * Каталог 1032 *, поэтому gh-pages
не может его найти.
index.html
в разработке загружается ../dist/bundle.js
, которого не существует
Конечно, я легко справился с этим, вытянув bundle.js
и изменив путь на index.html
, но это кажется невероятно неэффективным. Есть ли лучший способ развернуть сайт stati c, созданный с помощью webpack, на gh-pages
?
Спасибо!