Comments (6)
postcssLoader
配置项是用来传递配置给内置规则的 postcss-loader 的,自定义 loader 需要使用 chainWebpack
配置项:https://d.umijs.org/plugin/api#chainwebpack
from dumi.
我尝试了两种做法均不生效
// 1
import { defineConfig } from 'dumi';
import { resolve } from 'path';
export default defineConfig({
outputPath: 'docs-dist',
chainWebpack: (config: any) => {
config.module
.rule('pcss')
.test(/\.pcss$/)
.use('style-loader')
.loader('style-loader')
.end()
.use('css-loader')
.loader('css-loader')
.end()
.use('postcss-loader')
.loader('postcss-loader')
.options({
ident: 'postcss',
plugins: () => [require('autoprefixer')],
})
.end()
.use('pcss-loader')
.loader('pcss-loader')
.end();
return config;
},
resolve: {
atomDirs: [
{
type: 'component',
dir: 'src/components',
},
{
type: 'hooks',
dir: 'src/hooks',
},
],
},
// plugins: ['./plugins/postcss.ts'],
themeConfig: {
name: 'maptalks-react',
},
alias: {
'@context': resolve(__dirname, 'src/context'),
'@hooks': resolve(__dirname, 'src/hooks'),
},
});
2-----
import { defineConfig } from 'dumi';
import { resolve } from 'path';
export default defineConfig({
outputPath: 'docs-dist',
resolve: {
atomDirs: [
{
type: 'component',
dir: 'src/components',
},
{
type: 'hooks',
dir: 'src/hooks',
},
],
},
plugins: ['./plugins/postcss.ts'],
themeConfig: {
name: 'maptalks-react',
},
alias: {
'@context': resolve(__dirname, 'src/context'),
'@hooks': resolve(__dirname, 'src/hooks'),
},
});
plugins/postcss.ts
import { IApi } from 'dumi';
export default (api: IApi) => {
api.describe({
key: 'postcss',
});
api.chainWebpack((config: any) => {
config.module
.rule('pcss')
.test(/\.pcss$/)
.use('style-loader')
.loader('style-loader')
.end()
.use('css-loader')
.loader('css-loader')
.end()
.use('postcss-loader')
.loader('postcss-loader')
.options({
ident: 'postcss',
plugins: () => [require('autoprefixer')],
})
.end()
.use('pcss-loader')
.loader('pcss-loader')
.end();
return config;
});
};
from dumi.
提供下最小可复现仓库
from dumi.
https://github.com/ThorSmallice/dumi-test.git
pcss使用在Foo组件中
from dumi.
没用过 pcss-loader,但从文档来看它返回的是 js module,需要自己把 styles 插入到 DOM 里,示例项目没有做这个步骤所以样式不会生效,ref: https://github.com/fabien-h/pcss-loader#input-and-output
from dumi.
pcss-loader可以注释掉的,我在其他的webpack项目里只需要这样配置postcss-loader,如下
module: {
rules: [
{
test: /\.(p?css)$/,
include: [/apps[\/\\]react-.*/, /node_modules[\/\\]@scet/],
exclude: /\.scoped\.(pcss)$/,
use: [
{
loader: 'style-loader'
},
{
loader: 'css-loader',
},
'postcss-loader'
]
}
]
}
然后在根目录创建postcss.config.js / postcss.config.cjs 就可以import pcss文件使用了
from dumi.
Related Issues (20)
- bug: code embed标签的cols不生效 HOT 5
- bug: 文档死链 HOT 1
- bug: 在windows系统下,打包后文件名带":"导致命名失败 HOT 1
- bug: linux下执行docs:build报错 HOT 3
- bug: 代码中的`title`被错误地渲染到侧边栏的目录中 HOT 1
- bug: MFSU esbuild bundler is not supported yet! HOT 1
- bug: defineApp 未导出 HOT 1
- bug: defineApp 未导出
- feat: default order of docs more friendly for human HOT 5
- bug: sidebar激活的锚点不对 HOT 1
- feat: Markdown里支持通过变量替换文本 HOT 2
- bug: When customizing the `resolve.docDirs` directory, .md files under the node_modules file are not ignored in Monorepo project HOT 2
- 使用worker-loader,出现报错Module not found: Error: Can't resolve 'mf/worker-loader' HOT 2
- bug: 通过 `resolve.atomDirs` 指定多个资产路径时,Demo 无法正常显示。
- feat: 希望支持vite+react-ts HOT 1
- feat: dumi2 的 自动API表格 生成太慢了,热更新也很慢 HOT 2
- bug: useRouteMatch was not found in 'react-router' HOT 1
- feat:umi4集成模式 HOT 2
- bug: npx create-dumi初始化项目失败 HOT 2
- feat: Dumi 支不支持Taro ? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dumi.