使用自定义Rollup配置传递环境参数时出现未识别选项警告
解决Rollup命令行出现"Unknown input option: options"警告的问题
我之前刚踩过这个坑,别慌——虽然警告提示是命令行参数的问题,但实际上根源出在你的rollup.d3.config.js配置文件里,和你执行的命令本身没啥关系。
你说参数已经成功传入配置文件,说明--environment NODE_ENV:dev -c rollup.d3.config.js这部分是完全没问题的。那个警告里提到的options,是Rollup在解析你的配置文件时,发现了它不认可的顶层配置项。
给你几个具体的排查和解决步骤:
- 检查配置文件的顶层结构:Rollup的配置对象(或函数返回的对象)只能包含官方允许的选项,比如
input、output、plugins、external这些。你大概率是不小心在顶层加了一个叫options的属性,比如写成了这样:
export default { options: { /* 这里是错误的多余属性 */ }, input: 'src/index.js', output: { /* ... */ }, plugins: [/* ... */] }
把这个多余的options对象删掉,或者把里面的配置项移到正确的位置(比如如果是插件的配置,应该放到对应插件的参数里)。
- 核对选项拼写:有没有把合法选项拼错?比如把
output写成了options?仔细对照Rollup的配置文档,确保所有顶层属性都是官方认可的。 - 函数式配置的返回值检查:如果你是用函数式配置(毕竟你用到了
--environment,这种情况很常见),确认函数返回的对象里没有非法属性:
export default function (args) { return { input: 'src/index.js', output: { file: 'dist/bundle.js', format: 'umd' }, plugins: [/* ... */] // 这里绝对不能出现options这类非官方选项 } }
我之前就是在配置某个第三方插件时,误把插件的配置单独拎出来放到了配置文件顶层,删掉那个多余的options属性后,警告立刻就消失了。
内容的提问来源于stack exchange,提问作者Union find
相关产品推荐
相关产品推荐

