UmiJS一个坑爹的设置,项目运行之后报错:
cross-env PORT=2019 APP_TYPE=site umi dev
'"node --max-old-space-size=10240"' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
网上有用increase-memory-limit来解决问题的,但是我试了,无果。
修改下umi的cmd:
打开node_modules\.bin\umi.cmd
文件,将
@ECHO off
GOTO start
:find_dp0
SET dp0=%~dp0
EXIT /b
:start
SETLOCAL
CALL :find_dp0
IF EXIST "%dp0%\node.exe --max-old-space-size=10240" (
SET "_prog=%dp0%\node.exe"
) ELSE (
SET "_prog=node --max-old-space-size=10240"
SET PATHEXT=%PATHEXT:;.JS;=;%
)
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\umi\bin\umi.js" %*
改为:
@ECHO off
GOTO start
:find_dp0
SET dp0=%~dp0
EXIT /b
:start
SETLOCAL
CALL :find_dp0
IF EXIST "%dp0%\node.exe" (
SET "_prog=%dp0%\node.exe"
) ELSE (
SET "_prog=node"
SET PATHEXT=%PATHEXT:;.JS;=;%
)
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\umi\bin\umi.js" %*
保存后再运行项目的相关命令即可。