스토리북에 .less/.scss 전역 스타일 추가
2334 단어 reactstorybookreactnativewebpack
.less
스타일을 사용하고 있으며 모든 스타일이 작성된 단일 파일이 있습니다(비록 이 방법을 좋아하지는 않지만 :))It works for v6 but I am not sure about lower versions. You guys can give it a try.
스토리북을 성공적으로 설치하면
main.js
폴더에 두 개의 파일( preview.js
및 .storybook
)이 있습니다. 우리가 알고 있듯이 main.js
는 스토리북의 설정 파일이고 preview.js
는 스토리의 설정 파일입니다.아이디어는 스토리북에 Webpack 구성을 포함하는 것입니다.
질문: 어떻게 할 수 있습니까?
답변:
main.js
파일 사용 중1 단계:
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = {
"stories": [
"../src/**/*.stories.mdx",
"../src/**/*.stories.@(js|jsx|ts|tsx)"
],
"addons": [
"@storybook/addon-links",
"@storybook/addon-essentials",
"@storybook/preset-create-react-app",
'@storybook/preset-scss'
],
webpackFinal: async (config, { configType }) => {
config.module.rules.push({
// this is for both less and scss
test: /.*\.(?:le|c|sc)ss$/,
loaders: [
'style-loader',
'css-loader',
'less-loader', // if scss then add 'sass-loader'
]
});
config.plugins.push(new MiniCssExtractPlugin({
filename: '[name]-[contenthash].css',
chunkFilename: '[id]-[contenthash].css',
}));
return config;
},
}
여기
config
는 기존 스토리북의 웹팩 설정 대상이다. 규칙과 플러그인을 이 config
개체에 푸시하고 있습니다.2 단계:
preview.js
파일에 아래 줄을 포함하십시오.less
:import '!style-loader!css-loader!less-loader!../YOUR_LESS_FILE.less';
scss
:import '!style-loader!css-loader!sass-loader!../YOUR_LESS_FILE.scss';
그게 다야 이제 스토리북을 실행하고 변경 사항을 미리 볼 수 있습니다 :)
추신: github 스레드에 대한 이 답변에 대해 Bastien에게 감사의 말을 전하고 싶습니다.
https://github.com/storybookjs/storybook/issues/6364#issuecomment-485651328
또한 스토리북에 대한 멋진 튜토리얼을 제공한 @codevolution youtube 채널에도 감사드립니다.
Reference
이 문제에 관하여(스토리북에 .less/.scss 전역 스타일 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mdrahiem/add-less-scss-global-styles-in-storybook-1k50텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)