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
Reactjs React网页包绑定器在文件更改时不重新编译_Reactjs_Webpack - Fatal编程技术网

Reactjs React网页包绑定器在文件更改时不重新编译

Reactjs React网页包绑定器在文件更改时不重新编译,reactjs,webpack,Reactjs,Webpack,当使用watch命令运行webpack时,当我更改文件时,我的webpack似乎会在一段时间后“放弃”。只有对我的文件的第一次更新才会导致重新编译。连续的修改不起作用 我的文件夹结构: mypackage.json: { "name": "MVCReact", "version": "1.0.0", "description": "", "main&

当使用watch命令运行webpack时,当我更改文件时,我的webpack似乎会在一段时间后“放弃”。只有对我的文件的第一次更新才会导致重新编译。连续的修改不起作用

我的文件夹结构:

mypackage.json

{
  "name": "MVCReact",
  "version": "1.0.0",
  "description": "",
  "main": "./wwwroot/src/index.js",
  "scripts": {
    "dev:bundler": "cross-env NODE_ENV=development webpack -w"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@babel/core": "^7.12.9",
    "@babel/node": "^7.12.6",
    "@babel/preset-env": "^7.12.7",
    "@babel/preset-react": "^7.12.7",
    "babel-loader": "^8.2.1",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "webpack": "^5.6.0",
    "webpack-cli": "^4.2.0"
  },
  "devDependencies": {
    "babel-eslint": "^10.1.0",
    "cross-env": "^7.0.2",
    "eslint": "^7.14.0",
    "eslint-plugin-react": "^7.21.5",
    "eslint-plugin-react-hooks": "^4.2.0"
  }
}
module.exports = {
    parser: 'babel-eslint',
    env: {
    browser: true,
    commonjs: true,
    es6: true,
    node: true,
    jest: true,
    },
    parserOptions: {
    ecmaVersion: 2020,
    ecmaFeatures: {
        impliedStrict: true,
        jsx: true,
    },
    sourceType: 'module',
    },
    plugins: ['react', 'react-hooks'],
    extends: [
    'eslint:recommended',
    'plugin:react/recommended',
    'plugin:react-hooks/recommended',
    ],
    settings: {
    react: {
        version: 'detect',
    },
    },
    rules: {
    },
};
module.exports = {
    presets: ['@babel/preset-env', '@babel/preset-react'],
};
const path = require("path");

module.exports = {
    entry: {
        index: "./wwwroot/src/index.js"
    },
    output: {
        path: path.resolve(__dirname, "./wwwroot/dist"),
        filename: "[name].js"
    },
    module: {
        rules: [
            {
                use: {
                    loader: "babel-loader"
                },
                test: /\.js$/,
                exclude: /node_modules/
            }
        ]
    }
}
import React from 'react';
import ReactDOM from 'react-dom';

import App from './components/App';

ReactDOM.hydrate(
<App />,
document.getElementById('root'),
);
my.eslintrc.js

{
  "name": "MVCReact",
  "version": "1.0.0",
  "description": "",
  "main": "./wwwroot/src/index.js",
  "scripts": {
    "dev:bundler": "cross-env NODE_ENV=development webpack -w"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@babel/core": "^7.12.9",
    "@babel/node": "^7.12.6",
    "@babel/preset-env": "^7.12.7",
    "@babel/preset-react": "^7.12.7",
    "babel-loader": "^8.2.1",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "webpack": "^5.6.0",
    "webpack-cli": "^4.2.0"
  },
  "devDependencies": {
    "babel-eslint": "^10.1.0",
    "cross-env": "^7.0.2",
    "eslint": "^7.14.0",
    "eslint-plugin-react": "^7.21.5",
    "eslint-plugin-react-hooks": "^4.2.0"
  }
}
module.exports = {
    parser: 'babel-eslint',
    env: {
    browser: true,
    commonjs: true,
    es6: true,
    node: true,
    jest: true,
    },
    parserOptions: {
    ecmaVersion: 2020,
    ecmaFeatures: {
        impliedStrict: true,
        jsx: true,
    },
    sourceType: 'module',
    },
    plugins: ['react', 'react-hooks'],
    extends: [
    'eslint:recommended',
    'plugin:react/recommended',
    'plugin:react-hooks/recommended',
    ],
    settings: {
    react: {
        version: 'detect',
    },
    },
    rules: {
    },
};
module.exports = {
    presets: ['@babel/preset-env', '@babel/preset-react'],
};
const path = require("path");

module.exports = {
    entry: {
        index: "./wwwroot/src/index.js"
    },
    output: {
        path: path.resolve(__dirname, "./wwwroot/dist"),
        filename: "[name].js"
    },
    module: {
        rules: [
            {
                use: {
                    loader: "babel-loader"
                },
                test: /\.js$/,
                exclude: /node_modules/
            }
        ]
    }
}
import React from 'react';
import ReactDOM from 'react-dom';

import App from './components/App';

ReactDOM.hydrate(
<App />,
document.getElementById('root'),
);
Mybabel.config.js

{
  "name": "MVCReact",
  "version": "1.0.0",
  "description": "",
  "main": "./wwwroot/src/index.js",
  "scripts": {
    "dev:bundler": "cross-env NODE_ENV=development webpack -w"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@babel/core": "^7.12.9",
    "@babel/node": "^7.12.6",
    "@babel/preset-env": "^7.12.7",
    "@babel/preset-react": "^7.12.7",
    "babel-loader": "^8.2.1",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "webpack": "^5.6.0",
    "webpack-cli": "^4.2.0"
  },
  "devDependencies": {
    "babel-eslint": "^10.1.0",
    "cross-env": "^7.0.2",
    "eslint": "^7.14.0",
    "eslint-plugin-react": "^7.21.5",
    "eslint-plugin-react-hooks": "^4.2.0"
  }
}
module.exports = {
    parser: 'babel-eslint',
    env: {
    browser: true,
    commonjs: true,
    es6: true,
    node: true,
    jest: true,
    },
    parserOptions: {
    ecmaVersion: 2020,
    ecmaFeatures: {
        impliedStrict: true,
        jsx: true,
    },
    sourceType: 'module',
    },
    plugins: ['react', 'react-hooks'],
    extends: [
    'eslint:recommended',
    'plugin:react/recommended',
    'plugin:react-hooks/recommended',
    ],
    settings: {
    react: {
        version: 'detect',
    },
    },
    rules: {
    },
};
module.exports = {
    presets: ['@babel/preset-env', '@babel/preset-react'],
};
const path = require("path");

module.exports = {
    entry: {
        index: "./wwwroot/src/index.js"
    },
    output: {
        path: path.resolve(__dirname, "./wwwroot/dist"),
        filename: "[name].js"
    },
    module: {
        rules: [
            {
                use: {
                    loader: "babel-loader"
                },
                test: /\.js$/,
                exclude: /node_modules/
            }
        ]
    }
}
import React from 'react';
import ReactDOM from 'react-dom';

import App from './components/App';

ReactDOM.hydrate(
<App />,
document.getElementById('root'),
);
我的webpack.config.js

{
  "name": "MVCReact",
  "version": "1.0.0",
  "description": "",
  "main": "./wwwroot/src/index.js",
  "scripts": {
    "dev:bundler": "cross-env NODE_ENV=development webpack -w"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@babel/core": "^7.12.9",
    "@babel/node": "^7.12.6",
    "@babel/preset-env": "^7.12.7",
    "@babel/preset-react": "^7.12.7",
    "babel-loader": "^8.2.1",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "webpack": "^5.6.0",
    "webpack-cli": "^4.2.0"
  },
  "devDependencies": {
    "babel-eslint": "^10.1.0",
    "cross-env": "^7.0.2",
    "eslint": "^7.14.0",
    "eslint-plugin-react": "^7.21.5",
    "eslint-plugin-react-hooks": "^4.2.0"
  }
}
module.exports = {
    parser: 'babel-eslint',
    env: {
    browser: true,
    commonjs: true,
    es6: true,
    node: true,
    jest: true,
    },
    parserOptions: {
    ecmaVersion: 2020,
    ecmaFeatures: {
        impliedStrict: true,
        jsx: true,
    },
    sourceType: 'module',
    },
    plugins: ['react', 'react-hooks'],
    extends: [
    'eslint:recommended',
    'plugin:react/recommended',
    'plugin:react-hooks/recommended',
    ],
    settings: {
    react: {
        version: 'detect',
    },
    },
    rules: {
    },
};
module.exports = {
    presets: ['@babel/preset-env', '@babel/preset-react'],
};
const path = require("path");

module.exports = {
    entry: {
        index: "./wwwroot/src/index.js"
    },
    output: {
        path: path.resolve(__dirname, "./wwwroot/dist"),
        filename: "[name].js"
    },
    module: {
        rules: [
            {
                use: {
                    loader: "babel-loader"
                },
                test: /\.js$/,
                exclude: /node_modules/
            }
        ]
    }
}
import React from 'react';
import ReactDOM from 'react-dom';

import App from './components/App';

ReactDOM.hydrate(
<App />,
document.getElementById('root'),
);
我的索引.js

{
  "name": "MVCReact",
  "version": "1.0.0",
  "description": "",
  "main": "./wwwroot/src/index.js",
  "scripts": {
    "dev:bundler": "cross-env NODE_ENV=development webpack -w"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@babel/core": "^7.12.9",
    "@babel/node": "^7.12.6",
    "@babel/preset-env": "^7.12.7",
    "@babel/preset-react": "^7.12.7",
    "babel-loader": "^8.2.1",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "webpack": "^5.6.0",
    "webpack-cli": "^4.2.0"
  },
  "devDependencies": {
    "babel-eslint": "^10.1.0",
    "cross-env": "^7.0.2",
    "eslint": "^7.14.0",
    "eslint-plugin-react": "^7.21.5",
    "eslint-plugin-react-hooks": "^4.2.0"
  }
}
module.exports = {
    parser: 'babel-eslint',
    env: {
    browser: true,
    commonjs: true,
    es6: true,
    node: true,
    jest: true,
    },
    parserOptions: {
    ecmaVersion: 2020,
    ecmaFeatures: {
        impliedStrict: true,
        jsx: true,
    },
    sourceType: 'module',
    },
    plugins: ['react', 'react-hooks'],
    extends: [
    'eslint:recommended',
    'plugin:react/recommended',
    'plugin:react-hooks/recommended',
    ],
    settings: {
    react: {
        version: 'detect',
    },
    },
    rules: {
    },
};
module.exports = {
    presets: ['@babel/preset-env', '@babel/preset-react'],
};
const path = require("path");

module.exports = {
    entry: {
        index: "./wwwroot/src/index.js"
    },
    output: {
        path: path.resolve(__dirname, "./wwwroot/dist"),
        filename: "[name].js"
    },
    module: {
        rules: [
            {
                use: {
                    loader: "babel-loader"
                },
                test: /\.js$/,
                exclude: /node_modules/
            }
        ]
    }
}
import React from 'react';
import ReactDOM from 'react-dom';

import App from './components/App';

ReactDOM.hydrate(
<App />,
document.getElementById('root'),
);
从“React”导入React;
从“react dom”导入react dom;
从“./components/App”导入应用程序;
水合物(
对app.js文件的任何连续修改都不会重新生成代码。我可以清空整个app,js文件,但不会更新任何内容。修改仍在注册,网页包仍在编译,只是不使用最新的文件。我在终端日志中看到:

有人能解释一下发生了什么,我是如何解决的吗

更新:

  • 我试图使用cross-env包,但结果是一样的
  • github中项目的链接:

  • 我提取了你的代码,发现你应该替换下面的行

    import App from './components/App';
    


    它会起作用的

    我的第一个猜测是,你需要使用类似“cross env”的软件包。我实现了这一点,但问题没有改变。你有一个工作示例吗?我刚刚添加了一个指向project repositoryoff主题的链接,但我只会坚持使用诸如next.js之类的选项来进行服务器端渲染,而不是花在修复自己的样板文件上我在github存储库中创建了一个pull请求。谢谢,我今晚会试试这个欢迎,我会等待你的反馈。谢谢,这解决了我的问题。