版本:
stylus: 0.54.5
stylus-loader: 3.0.2
webpack: 4.30.0
文件夹结构:
src
|_ css
|_ base
|_ _vars.styl
|_ another.styl
|_ js
|_ some
|_ some.js => (It has "import './some.styl'")
|_ some.styl
import 'base/_vars.styl'
在some.js
作品中效果很好;
如果导入到another.styl
文件中,它也可以正常工作。 @import 'base/_vars.styl'
但是,它在some.styl
内部不起作用。我必须使用相对路径使其有效@import '../../css/base/_vars.styl'
Webpack配置:
const paths = {
css: path.join(__dirname, '../src/css/'),
javascript: path.join(__dirname, '../src/js'),
};
// module.rules for stylus loader
{
loader: 'stylus-loader',
options: {
sourceMap: !IS_PRODUCTION,
preferPathResolver: 'webpack' // Doesn't make any difference
},
}
const resolve = {
extensions: [
'.webpack-loader.js',
'.web-loader.js',
'.loader.js',
'.js',
'.jsx',
'.styl', // Doesn't make any difference
'.css', // Doesn't make any difference
],
modules: ['node_modules', paths.javascript, paths.css],
};
注意:从解析目录导入JS文件和CSS在JS文件中可以正常工作。
有趣的sass-loader
相同的Webpack配置很好。 我缺少什么?