解决 Element UI 自定义主题时 primordials is not defined 的问题

3 分钟

Element UI可以使用命令行主题工具来自定义主题。

在Node.js 15版本下,该工具无法正常工作,报错ReferenceError: primordials is not defined

换个思路,不使用命令行主题工具了。直接git clone官方主题theme-chalk,编辑后执行gulp build编译,依旧报这个错误。

经过一番排查,结论就是gulp的版本太低

下面说一下,如何在直接编辑theme-chalk的情况下,顺利通过gulp编译。

打开package.json,把gulp的版本修改为4.0.2,然后重新npm i,再gulp build。这次有了新的错误:

Error: Node Sass does not yet support your current environment: OS X 64-bit with Unsupported runtime (88)
For more information on which environments are supported please see:
https://github.com/sass/node-sass/releases/tag/v4.14.1
    at module.exports (/Users/user/project/theme-chalk/node_modules/node-sass/lib/binding.js:13:13)
    at Object.<anonymous> (/Users/user/project/theme-chalk/node_modules/node-sass/lib/index.js:14:35)

可以看出来,是node-sass的版本太低了,不支持当前的Node.js版本。那么,安装最新的node-sass即可。

npm i node-sass@5.0.0 -D

安装后再gulp build,继续报错:

Error: Node Sass does not yet support your current environment: OS X 64-bit with Unsupported runtime (88)
For more information on which environments are supported please see:
https://github.com/sass/node-sass/releases/tag/v4.14.1
    at module.exports (/Users/user/project/theme-chalk/node_modules/gulp-sass/node_modules/node-sass/lib/binding.js:13:13)
    at Object.<anonymous> (/Users/user/project/theme-chalk/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:14:35)

这次错误依然是node-sass的版本太低,但这次是gulp-sass自己依赖的node-sass版本太低。所以,进入gulp-sass的目录,安装最新的node-sass。

cd ./node_modules/gulp-sass
npm i node-sass@5.0.0 -D

安装后再gulp build,编译成功。

版权所有 © 2021 Shiau. 以商业目的使用本网站内容需获许可。非商业使用本网站内容需遵循知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议。All content is made available under the CC BY-NC-ND 4.0 for non-commercial use. Commercial use of this content is prohibited without explicit permission.

Powered by hexo with theme moderate.