Reactjs React网页包绑定器在文件更改时不重新编译
当使用watch命令运行webpack时,当我更改文件时,我的webpack似乎会在一段时间后“放弃”。只有对我的文件的第一次更新才会导致重新编译。连续的修改不起作用 我的文件夹结构: mypackage.json:Reactjs React网页包绑定器在文件更改时不重新编译,reactjs,webpack,Reactjs,Webpack,当使用watch命令运行webpack时,当我更改文件时,我的webpack似乎会在一段时间后“放弃”。只有对我的文件的第一次更新才会导致重新编译。连续的修改不起作用 我的文件夹结构: mypackage.json: { "name": "MVCReact", "version": "1.0.0", "description": "", "main&
{
"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请求。谢谢,我今晚会试试这个欢迎,我会等待你的反馈。谢谢,这解决了我的问题。