Skip to main content

FAQ

安装相关

安装时报“ERESOLVE unable to resolve dependency tree”的错误。

你应该使用了NPM 7.x版本,该版本要求peer依赖完全对齐,但当前社区有部分库还无法达到这一要求。

你可以使用npm install --legacy-peer安装来避开这个错误。

构建相关

我的项目用sass作为样式语言,没办法切换到less

参考复用现有的loader章节来自定义sass-loader实现构建。

如果希望一个与reSKRiptless处理一致的方案,请使用@reskript/plugin-sass插件,具体的.less文件处理逻辑请参考编写样式章节的说明。

我想使用tailwind来写样式。

参考[settings/build#特殊第三方库的优化]章节,在项目配置文件中的build.uses配置中加上"tailwind",并根据官网文档初始化配置、引入样式即可。

我在项目中用多个入口文件分割子项目,希望只构建其中一个或几个并上线。

参考仅构建指定入口使用skr build --entries-only参数。

在调试时也可以参考调试时指定入口使用skr dev --entry参数指定入口。

我发现有一个第三方包使用了新的JavaScript语法,不经过babel处理就没办法在低版本浏览器中运行。

参考增加babel编译的文件一章,通过项目配置文件中的build.script.finalize配置让babel处理第三方包。

我希望某个入口构建产出的文件没有哈希,用于给他人直接引用。

参考自定义入口配置,使用src/entries/*.config.{mjs|ts}中的entry导出配置filename实现。

我修改了项目中的webpack.config.js但没有效果。

项目根目录下的webpack.config.js仅用于部分IDE识别import的别名,本身不参与任何构建。如果需要对构建进行自定义调整,请修改项目配置文件,具体参考:

我想用emotion管理样式,但构建会报错。

参考特殊第三方库的优化使用build.uses配置打开相应的功能。

我想在CI环境中保留缓存,多次构建利用缓存提速。

参考skr build命令参数中的--cache-dir指定一个目录存放缓存,并在CI配置中将该目录设定为持久化。

本地调试相关

我在远程IDE上开发,启动服务后打开的页面是localhost,本机无法访问。

参考dev命令play命令的文档,其中--host参数可以指定绑定的主机名,使用--host=ip可显示为远程机器的IP地址。

代码检查相关

我在运行eslint时出现ESLint couldn't find the plugin "xxx".这样的错误。

在你的.eslintrc.js中增加一行代码:

require('@reskript/config-lint/patch');

具体参考Lint配置