js 语法错误,编译不报错,阻塞在进度条步骤
inkinworld opened this issue · comments
信息:
os: mac OS 10.13.3
version: "1.3.0"
npm: 5.6.0
node: v9.4.0
现象:
npm run start, 显示如下信息,始终阻塞
Starting the development server... build [=====] 91%
期待结果:
正常提示语法错误
复现步骤:
- git clone https://github.com/ant-design/ant-design-pro.git
- 进入 ant-design-pro 目录, npm install
- 将 ant-design-pro/src/routes/User/Login.js 第73 行修改为
<a style={{ float= 'right' }} href="">
- npm run start 返回报错信息
- ctrl + c 结束开发模式
- 重新 npm run start, 显示如下信息,始终阻塞
Starting the development server... build [=====] 91%
在进行中项目中发现的,可稳定在 ant-design-pro 中复现
补充
我尝试过使用 npm start过后就一直是这个页面 中 删除 node_module 的方法,只有首次编译可以正常报错,然后按照复现步骤依操作旧有问题。
Translation of this issue:
js syntax error, compile error, block in progress step
information:
Os: mac OS 10.13.3
Version: "1.3.0"
Npm: 5.6.0
Node: v9.4.0
phenomenon:
Npm run start, shows the following message, always blocked
Starting the development server... Build [=====] 91%
Expected result:
Normal prompt syntax error
Reproducing steps:
- git clone https://github.com/ant-design/ant-design-pro.git
- Enter the ant-design-pro directory, npm install
- Change line 73 of ant-design-pro/src/routes/User/Login.js to
<a style={{ float = 'right' }} href="">
- npm run start returns an error message
- ctrl + c end development mode
- Restart npm run start, show the following message, always blocked
Starting the development server... Build [=====] 91%
Discovered in ongoing projects can be stably reproduced in ant-design-pro
我也出现这个问题,从昨天开始,编译就一直卡在91%不动了,但不确定是不是语法错误所致
Window64系统也出现类似问题,执行cnpm install一直是等待状态。
| [56/58] Installing string-convert@^0.2.0
我也遇到这个问题了,解决办法就是把roadhog降低到了2.3.0,然后就好了。虽然也不太清楚为什么~
@279095090 感谢~
我这没法重现,大家可以试下几个方法:
- HARD_SOURCE=none npm start
- 换 yarn,有效的话,应该是和 umijs/umi#526 有关
ref: umijs/umi#521
同样有这样的问题,内存飙升,然后栈溢出
语法错误的时候回出现,,
Compiling...
build [================== ] 91%
<--- Last few GCs --->
[6220:0000023A6E5C56F0] 398681 ms: Mark-sweep 1410.3 (1450.0) -> 1410.3 (1450.0) MB, 1223.9 / 0.0 ms last resort GC in old space requested
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 000000D0A9BA5E71
1: formatError(aka formatError) [D:\web\zndz\server\node_modules_webpack@3.12.0@webpack\lib\Stats.js:~186] [pc=0000005384120F68](this=000000930C282311 ,e=000003329B55B981 )
2: arguments adaptor frame: 3->1
3: map(this=0000010A200051B1 <JSArray[1]>)
5: toJson [D:\web\zndz\server\node_modules_webpack@3.12.0@webpack\lib\Stats.js:230] [byt...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
Hi all, 这个问题通过 @sorrycc 提示的方式解决了,
解决方式
运行时执行
HARD_SOURCE=none npm start
可修改 package.json
"start": "HARD_SOURCE=none npm run _start", "_start": "cross-env ESLINT=none roadhog dev",
WHY (猜测)
为了加速构建, roadhog 使用了 hard-source-webpack-plugin插件,对模块进行缓存,如果首次运行(生成缓存时)出现了错误,关闭进程在启动服务将会无法正常执行。该插件对热加载,require.context
语法的使用有一定影响,割以永治=.=
副作用
关闭后将每次全量构建
这种方式试了后还是不好使,在nodemodules的.bin文件中修改了roadhog.cmd
node --max-old-space-size=4096 "%~dp0\..\roadhog\bin\roadhog.js" %*
这样解决了这个问题;
同样的问题,我修改了 .roadhogrc.mock.js
的export 对象 和 package.json
"dev": "cross-env PROXY=1 ESLINT=true roadhog dev",
"dev:no-proxy": "cross-env PROXY=0 ESLINT=true roadhog dev",
"dev:sv-proxy": "cross-env PROXY=2 ESLINT=true roadhog dev",
就遇到了此91%现象, 删除node_modules重装恢复,一直用yarn
Edit: 好像只删除/node_modules/.cache/hard-source/就可以
关键我是启动的时候没问题,正常开启,但是开发过程中,代码没写完,它也认为是错误,就自动卡在91%编译,然后dev服务器就崩了。终端终止后,还要手动kill进程,才能退出。大佬们考虑解决一下么?
升级最新的 roadhog 就能解决问题了
记得删除 node_modules
重装下依赖,已默认关闭了 hard source。