Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 10重新安装后,Nodemon和webpack dev服务器热重新加载无法在WSL 2下工作_Webpack_Webpack Dev Server_Windows Subsystem For Linux_Nodemon_Hot Reload - Fatal编程技术网

Windows 10重新安装后,Nodemon和webpack dev服务器热重新加载无法在WSL 2下工作

Windows 10重新安装后,Nodemon和webpack dev服务器热重新加载无法在WSL 2下工作,webpack,webpack-dev-server,windows-subsystem-for-linux,nodemon,hot-reload,Webpack,Webpack Dev Server,Windows Subsystem For Linux,Nodemon,Hot Reload,几天前,我重新安装了Windows10。我正在开发以express为后端、React.js为前端的全栈web应用程序。我正在使用nodemon为前端重新构建服务器和webpack dev服务器。值得一提的是,我正在使用WSL2。我注意到nodemon在保存文件时没有反应。我必须手动键入rs才能重新加载。起初认为这是nodemon的问题。在这里寻找类似的问题,但我只找到了--watch,这没有帮助。并不是说我试过webpack,但问题依然存在,我对此一无所知。以下是一些有用的信息: 网页包命令:

几天前,我重新安装了Windows10。我正在开发以express为后端、React.js为前端的全栈web应用程序。我正在使用nodemon为前端重新构建服务器和webpack dev服务器。值得一提的是,我正在使用WSL2。我注意到nodemon在保存文件时没有反应。我必须手动键入
rs
才能重新加载。起初认为这是nodemon的问题。在这里寻找类似的问题,但我只找到了
--watch
,这没有帮助。并不是说我试过webpack,但问题依然存在,我对此一无所知。以下是一些有用的信息: 网页包命令
webpack dev server--host 0.0.0.0--config./webpack.config.js--mode development

webpack.config.js

module.exports = {
    entry: ["babel-polyfill", "./app/index.jsx"],
    module: {
        rules: [
            {
                test: /\.(js|jsx)$/,
                exclude: /node_modules/,
                use: ["babel-loader"],
            },
            { test: /\.css$/, use: ["style-loader", "css-loader"] },
            {
                test: /\.(jpg|png|svg)$/,
                loader: "file-loader",
                options: {
                    name: "[path][name].[hash].[ext]",
                },
            },
        ],
    },
    resolve: {
        alias: {
            components: __dirname + "/app/components",
            reducers: __dirname + "/app/reducers",
            constants: __dirname + "/app/constants",
            actions: __dirname + "/app/actions",
            store: __dirname + "/app/store",
            styles: __dirname + "/app/styles",
            assets: __dirname + "/app/assets/",
            api: __dirname + "/app/api/",
        },
        enforceExtension: false,
        extensions: [".js", ".jsx"],
    },
    output: {
        path: __dirname + "/public",
        publicPath: "/",
        filename: "index.js",
    },
    devServer: {
        contentBase: "./public",
        port: 8080,
    },
};

此外,这两款产品在Linux笔记本电脑上运行良好,在重新安装之前也运行良好。

我自己解决了这个问题。把它贴在这里,以防有人遇到同样的问题。我的系统现在和重新安装之前的不同之处在于我升级到了WSL2。出于某些原因,nodemon和webpack dev服务器热重新加载在WSL2中不起作用。降级到WSL 1解决了该问题


编辑:为了让它在WSL2中工作,项目需要在linux文件系统中。(我很久以前就想出来了,只是忘了把它贴在这里。)

试试这个,它对我有用:

webpack -w --watch-poll
试试这个:

module.exports = {
  //...
  watchOptions: {
    poll: 1000 // Check for changes every second
  }
};

或者将文件移动到WSL文件系统:

\\wsl$\<distroname>\home\<username>
\\wsl$\\home\

尝试在全局状态下重新安装nodemon。Npm安装-gnodemon@Phemieny007只是试过了,但没用。感谢您的建议。+1将文件移动到WSL2文件系统。奇怪的是,几天前我在WSL2中自动重新加载了npm,尽管文件存在于WSL2文件系统之外。尽管如此,MS还是建议不要跨文件系统工作,非常感谢您的跟进。这很有帮助。我不想把我的文件埋在难以访问的虚拟机中。糟糕的操作系统工艺再一次被“推荐”所修补。希望我们不会完全失去这一功能。对于我在WSL2(Ubuntu18.04发行版)中安装的rails应用程序,webpack dev服务器将无法查看对不在Ubunutu中的文件的修改。所以我把它移到了Ubuntu的主目录中,现在它能够响应文件更改并编译它们。我在Windows上使用升华文本进行开发,因此为了访问该项目,我使用路径
\\wsl$\Ubuntu-18.04\home\\projects
以升华文本打开该项目。>该项目需要位于linux文件系统内。<谢谢