webpack上遇到的问题总结

2019年01月01日Web前端

最近一直用webpack打包react工程,总结下目前这段时间使用webpack遇到的问题。

一、sass公共文件

webpack下使用了sass预编译,并且设置了一个存放公共变量的文件,比如common.sass,然后其他组件下的sass文件需要引用他,加入我们直接在组件下的sass文件使用公共文件中的变量,则会有报错出现,比如:

这是因为sass-loader的编译环境的问题,我们需要安装个sass-resources-loader依赖,

npm install sass-resources-loader --save-dev

并在webpack配置中增加对该依赖的使用,需要将sass-resources-loader放在第一步,

test: /\.(scss|sass)$/,
use: [
    //...... 其他插件
    {
        loader: 'sass-resources-loader',
        options: {
            resources: path.resolve(__dirname, '../src/scss/common.scss')
        }
    }
]

其中resources指定了公共的sass文件,这样其他文件就可以使用公共的变量了。

二、控制台下出现很多warning

新写组件run start后,浏览器控制台下出现了很多warning,大概报错如下:

./node_modules/React/lib/AutoFocusUtils.js
There are multiple modules with names that only differ in casing.
This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.

实际发现是在import react时,写成了大写,

import React, { Component } from 'React';

将React改成react就行了。