@plugin-light/webpack-loader-inject-dynamic-style-web
TypeScript icon, indicating that this package has built-in type declarations

0.0.7 • Public • Published

动态样式注入 - H5

注入不同类型的样式文件。

如何使用

安装

pnpm add @plugin-light/webpack-loader-inject-dynamic-style-web -D

vue.config.js 中添加如下设置:

const { LOADER as injectDynamicStyleWeb } = require('webpack-loader-inject-dynamic-style-web')';

module.export = {
  chainWebpack(config) {
    config.module
      .rule('inject-dynamic-style')
      .test(/(css\/base\.scss)$/)
      .use(injectDynamicStyleWeb) 
      .loader(injectDynamicStyleWeb)
      .end();
  }
}

参数

export type IInjectDynamicStyleWebOptions = {
  // 顶层元素,,默认 body
  topElement?: string;

  // 处理的平台, 默认 ['h5']
  platforms?: Array<string>;
};

说明

loader 会在base.scss文件中注入以下样式,使得页面可以动态显示不同类型的样式。

const styleStr = styleList.map(item => `
&--type-${item} {
  @import './${item}.scss';
}`).join('\n');

const content = `
/* #ifdef H5 */
body.${componentName} {
  ${styleStr}
}
/* #endif */
`;

Readme

Keywords

none

Package Sidebar

Install

npm i @plugin-light/webpack-loader-inject-dynamic-style-web

Weekly Downloads

1

Version

0.0.7

License

none

Unpacked Size

4.43 kB

Total Files

8

Last publish

Collaborators

  • yanggwcn