vue中解决 Cannot read property ‘stylus‘ of undefined 报错问题

安装stylus和stylus-loader版本如下

//版本如下
"stylus": "^0.54.8",
"stylus-loader": "^3.0.1",

项目启动报错

TypeError: Cannot read property 'stylus' of undefined
    at Object.module.exports (F:\项目目录\node_modules\stylus-loader\index.js:29:37)

查看stylus-loader\index.js:29:37代码

  if (this.stylus) {
    configKey = options.config || 'default';
    stylusOptions = this.stylus[configKey] || {};
  } else {
    configKey = options.config || 'stylus';
    stylusOptions = this.options[configKey] || {};  //出现错误是在这行
  }

源代码执行到 stylusOptions = this.options[configKey] || {};这句时this.options也是undefined,所以报错,

解决方案:在[email protected]版本中 此处源码如下

  if (this.stylus) {
    configKey = options.config || 'default';
    stylusOptions = this.stylus[configKey] || {};
  } else if (this.options) {
    configKey = options.config || 'stylus';
    stylusOptions = this.options[configKey] || {};
  } else {
    stylusOptions = {};
  }

只需要将stylus-loader的版本更新到3.0.2,就可以解决上述问题

npm uninstall stylus-loader
npm install [email protected] --save-dev

你可能感兴趣的:(vue)