装了node-sass sass sass-loader,还是报错找不到包

正在用vue+webpack,可是我装了node-sass sass sass-loader,在main.js引入文件时还会报错,这是为什么呢?

main.js

import 'common/scss/index.scss';

package.json

 "node-sass": "^4.2.0",
 "sass": "^0.5.0",
 "sass-loader": "^4.1.1",

webpack.base.cfg.js

路径:
'common': path.resolve(__dirname, '../src/common')

loader:
{
   test: /\.s[a|c]ss$/,
   loader: 'style!css!sass'
}

报错信息:

This dependency was not found in node_modules:
* common/scss/index.scss

Did you forget to run npm install --save for it?
> Listening at http://localhost:8080
阅读 10.1k
5 个回答

你先确认下你安装正确没有,你安装了不代表安装成功了。

你删掉不报错,不表示你css就起作用了啊,

你删掉不执行sass转css,当然不报错了。

所以你的问题还是安装出了问题,去查查的你的node_modules文件夹里面有木有sass-loader

用明确的相对路径或者绝对路径,直接这么写他会在依赖里找

这个'common'可能是出歧义了?改个别的名称试试?

改下 webpack 的配置

{
    'resolve': {
        'modulesDirectories': [
            'node_modules',
            'common 文件夹上一级的路径'
        ]
    }
}

问题解决了,但是很奇葩啊,为什么我把

    loader:
    {
       test: /\.s[a|c]ss$/,
       loader: 'style!css!sass'
    }
配置删掉了反而不报错了?希望有大神能帮忙解惑

ok,原来vue-cli会自动配置的,真是个天坑啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题