React,Webpack,Stylus - 将全局变量导入所有组件

时间:2016-08-03 08:27:10

标签: reactjs webpack stylus

我有反应app,在webpack中我有这个代码:

stylus: {
    use: [require('nib'), require('jeet')],
    import: [
        '~nib/lib/nib/index.styl',
        '~jeet/stylus/jeet/_jeet',
        '~rupture/rupture/index.styl'
    ]
}

如何将variable.styl导入全局的每个组件?我需要添加这样的东西:

stylus: {  
    import: [
        './app/styles/variables.styl'
    ]
}

此webpack停止在96%之后没有别的。

3 个答案:

答案 0 :(得分:4)

Webpack配置中的大多数路径都需要是完整路径(绝对路径,而不是相对路径)。

试试这个:

const path = require('path');
...
stylus: {  
  import: [
    '~nib/lib/nib/index.styl',
    '~jeet/stylus/jeet/_jeet',
    '~rupture/rupture/index.styl',
    path.resolve(__dirname, './app/styles/variables.styl')
  ]
}

(我认为如果他们在@import中获得variables.styl,则可能不需要最初的三次导入。

答案 1 :(得分:0)

对于那些正在使用Webpack 2+的人来说,这是现在要走的路:

您的webpack.config.js

const path = require('path')

module.exports = {
    module: {
        rules: [
            {
                test: /\.(styl|css)$/,
                use: [
                    'css-loader',
                    {
                        loader: 'stylus-loader',
                        options: {
                            import: [
                                path.resolve(__dirname, './app/assets/stylesheets/variables.styl') // Path to the file
                            ]
                        }
                    }
                ],
            },            
        ],
    }
}

答案 2 :(得分:0)

您可以使用style-resources-loader为您的* .styl文件注入全局变量。