【发布时间】:2018-06-12 15:52:31
【问题描述】:
我知道这个问题已经被问过很多次了,但我似乎无法找到正确的调整组合来让它发挥作用。
一切都在构建,一切都在运行。 Webpack 构建输出甚至显示启用了热替换。当我更改一个组件时,它会成功重建......但是当我重新加载页面时没有任何变化:
Version: webpack 3.10.0
Time: 359ms
Asset Size Chunks Chunk Names
main.dist.js 5.7 MB 0 [emitted] [big] main
main.dist.css 151 kB 0 [emitted] main
+ 10 hidden assets
[456] (webpack)/hot nonrecursive ^\.\/log$ 170 bytes {0} [built]
[911] ./node_modules/moment/locale ^\.\/.*$ 2.88 kB {0} [optional] [built]
[1004] ./src/components/admin/admin.js 3.77 kB {0} [built]
+ 1016 hidden modules
webpack: Compiled successfully.
我的 webpack.config.js:
const path = require("path");
const webpack = require("webpack");
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const OptimizeCssAssetsPlugin = require("optimize-css-assets-webpack-plugin");
let plugins = [
new ExtractTextPlugin("main.dist.css")
];
module.exports = {
node: {
fs: "empty",
net: "empty",
tls: "empty"
},
entry: "./src/index.js",
output: {
path: path.resolve(__dirname, "assets/dist/"),
publicPath: "./assets/dist/",
filename: "main.dist.js"
},
module: {
loaders: [
{
exclude: /node_modules/,
loader: "babel-loader",
query: {
presets: ["env", "stage-2", "react"]
}
},
{
test: /\.scss$/,
loader: "style!css!resolve-url!sass?sourceMap"
},
{
test: /\.css$/,
loader: ExtractTextPlugin.extract({ fallback: "style-loader", use: ["css-loader"] })
},
{
test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
loader: "url-loader?limit=10000&mimetype=application/font-woff"
},
{
test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
loader: "file-loader"
}
]
},
resolve: {
extensions: ["*", ".js", ".jsx"]
},
devServer: {
inline: true,
hot: true,
historyApiFallback: true,
contentBase: "./"
},
devtool: "eval-source-map",
plugins: plugins
};
index.js:
import React from "react";
import ReactDOM from "react-dom";
import Routes from "./routes/index";
import "bootstrap/dist/css/bootstrap.css";
import "../assets/css/styles.css";
ReactDOM.render(Routes, document.querySelector(".container"));
我尝试将 index.html 文件放入 ./assets/dist 文件夹并将 contentBase 设置为该文件夹:
devServer: {
inline: true,
hot: true,
historyApiFallback: true,
contentBase: "./assets/dist"
},
它运行了,但是如何重新加载仍然不起作用。没有变化。
【问题讨论】:
-
能否请您出示您的 index.js
-
@DanielKhoroshko - 已添加。如果需要,也可以添加路由文件。
-
我想你必须按照这里描述的步骤,改变 weback 入口点和 index.js
标签: javascript reactjs webpack