#javascript #webpack #github-pages
Вопрос:
Я создаю простое приложение, используя Tailwindcss, JavaScript и Webpack, и пытаюсь опубликовать его на страницах Github.
Хотя запуск приложения через локальный хост работает нормально, я сталкиваюсь с проблемой при попытке опубликовать приложение через gh-страницы. Я получаю сообщение об ошибке «Файл 404 не найден», почему это? Есть ли какие-либо зависимости, отсутствующие в webpack.config.js или файл package-json?
Любая помощь будет признательна.
Пожалуйста, также смотрите репозиторий github: https://github.com/e-d-i/shoppingCart
пакет.json
"name": "shopping-cart",
"version": "1.0.0",
"description": "A simple shopping cart using HTML, CSS / Tailwind CSS, JavaScript amp; Webpack",
"main": "webpack.config.js",
"dependencies": {
"css-loader": "^6.3.0",
"gh-pages": "^3.2.3",
"mini-css-extract-plugin": "^2.3.0",
"postcss": "^8.3.9",
"postcss-loader": "^6.1.1",
"tailwindcss": "^2.2.16",
"webpack": "^5.56.1",
"webpack-cli": "^4.8.0"
},
"homepage": "https://e-d-i.github.io/shoppingCart/",
"devDependencies": {},
"scripts": {
"build": "webpack --config webpack.config.js",
"deploy": "gh-pages -d build"
},
"keywords": [],
"author": "e-d-i",
"license": "ISC"
}```
**postcss.config.js**
```const tailwindcss = require("tailwindcss");
module.exports = {
plugins: [
tailwindcss
],
};```
**webpack.config.js**
```const path = require("path");
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = {
mode: "development",
entry: "./src/script.js",
output: {
filename: "main.js",
path: path.resolve(__dirname,"./build")
},
plugins: [new MiniCssExtractPlugin({
filename: "styles.css",
})],
module: {
rules: [
{
test:/.css$/,
use:[
MiniCssExtractPlugin.loader,
"css-loader",
"postcss-loader"
]
}
]
}
}```
Комментарии:
1. Я добавил index.html файл вместе с двумя другими html-файлами в папке сборки, в результате чего сообщение об ошибке 404 больше не будет получено. Вместо этого стили Tailwindcss и код JavaScript почему-то не будут применяться…
2. В конце концов я перестроил веб-приложение с помощью Parcel, и теперь оно наконец работает…
Ответ №1:
Вы должны добавить «предварительное развертывание» в свой пакет.json примерно так:
"predeploy": "npm run build"
и запустите его локально перед развертыванием на страницах github.
источник: https://dev.to/yuribenjamin/how-to-deploy-react-app-in-github-pages-2a1f