Rob*_*ert 5 javascript webpack webpack-dev-server
我的 webpack-dev-server 通常正常工作,实时更新工作正常,一切都很好。
但是,如果我保存了一个语法错误的文件,服务器将停止编译并要求我重新启动它以使其再次工作。
例如,假设我不小心在 .scss 文件中添加了一个额外的逗号,webpack-dev-server 会输出错误:
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
SassError: Invalid CSS after '...oto Condensed",': expected expression (e.g. 1px, bold), was ", sans-serif;"
on line 18 of /Users/r/Documents/sol/src/styles/app.scss
>> font-family: "Roboto Condensed",, sans-serif;
----------------------------------^
@ ./src/styles/app.scss 2:26-181
@ ./src/index.jsx
? ?wdm?: Failed to compile.
Run Code Online (Sandbox Code Playgroud)
但是当我通过删除逗号修复错误并保存文件时,服务器不会像往常一样重新编译(它似乎根本没有输出任何东西)。我必须杀死 webpack-dev-server 并重新启动它。
我在网上找到的最接近我的问题的是这个https://github.com/webpack/webpack-dev-server/issues/463,但那里的解决方案没有解决我的问题。
这是我的 webpack.config.js:
const path = require('path');
module.exports = {
entry: path.resolve(__dirname, 'src', 'index.jsx'),
output: {
path: path.resolve(__dirname, 'output'),
filename: 'bundle.js'
},
devServer: {
publicPath: '/output/',
contentBase: path.resolve(__dirname, 'src'),
},
resolve: {
extensions: ['.js', '.jsx']
},
module: {
rules: [
{
test: /\.jsx/,
use: {
loader: 'babel-loader',
options: { presets: ['@babel/preset-react', '@babel/preset-env'] }
}
},
{
test: /\.scss/,
use: ['style-loader', 'css-loader', 'postcss-loader', 'sass-loader']
}
]
}
};
Run Code Online (Sandbox Code Playgroud)
服务器在出错后停止编译是正常行为吗?或者有没有我可以更改的标志,这样我就不必在每次语法错误后重新启动服务器?
小智 0
我不确定这是否与您的 webpack 配置相关,但我遇到了同样的问题,直到我删除了prettier了prettier-webpack-plugin插件之前我遇到了同样的问题。我注意到这就是我的日志中发生崩溃的地方:
\xe2\x9c\x96 \xef\xbd\xa2wdm\xef\xbd\xa3: SyntaxError: Unexpected token (100:3)\n 98 | // cull whenever the viewport moves\n 99 | PIXI.Ticker.shared.add(() =>\n> 100 | if (viewport.dirty) {\n | ^\n 101 | if (viewport.top < chunk.top) loadChunk('top');\n 102 | if (viewport.left < chunk.left) loadChunk('left');\n 103 |\n at t (./node_modules/prettier/parser-babel.js:1:379)\n at Object.parse (./node_modules/prettier/parser-babel.js:1:346226)\n at Object.parse (./node_modules/prettier/index.js:13625:19)\n at coreFormat (./node_modules/prettier/index.js:14899:14)\n at format (./node_modules/prettier/index.js:15131:14)\n at ./node_modules/prettier/index.js:57542:12\n at Object.format (./node_modules/prettier/index.js:57562:12)\n at ./node_modules/prettier-webpack-plugin/index.js:70:47\n at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:69:3)\n\xe2\x84\xb9 \xef\xbd\xa2wdm\xef\xbd\xa3: wait until bundle finished: /\n\xe2\x84\xb9 \xef\xbd\xa2wdm\xef\xbd\xa3: wait until bundle finished: /```\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
561 次 |
| 最近记录: |