Coder Social home page Coder Social logo

arco-webpack-plugin's Introduction

@arco-design/webpack-plugin

@arco-design/webpack-plugin is a webpack plugin to help deal with arco usage issues.

Feature

  1. Style lazy load:Add babel-plugin-import to babel-loader to enable style lazy loading。If there is a babel-plugin-import for arco-design/web-react, it will be replaced
  2. Theme import:Specify the theme package name, the plugin will read the variable content of the theme package and inject it into modifyVars of less-loader。
  3. Remove the font package that comes with the component library:Set removeFontFace to true to remove the font file that comes with the component library。
  4. Icon replacement:Specify the package name of the icon library, the plug-in will read the icon in the package and replace the icon with the same name used in the component library.。
  5. Replace default language:The default imported language pack of the component library is Chinese, which determines that Chinese will be included in the packaged product. If you don't want Chinese, you can use this parameter to replace it with the language you need.
  6. Get lazy load babel plugin configuration:The implementation of on-demand loading is achieved by injecting babel-plugin-import configuration into babel. These configurations are open for everyone to use and can be obtained through (new ArcoWebpackPlugin()).pluginForImport().getBabelPlugins().

Install

Use npm/yarn to install the plugin:

# npm
$ npm install -D @arco-design/webpack-plugin

# yarn
$ yarn add @arco-design/webpack-plugin

Usage

To to the plugin, add the following code in webpack config:

const ArcoWebpackPlugin = require('@arco-design/webpack-plugin');

// webpack config
{
  plugins: [
    new ArcoWebpackPlugin(options)
  ]
}

options

The plugin supports the following parameters:

Params Type Default Value Description
include {String[]} ['src'] File directory used by bebel-plugin-import
extensions {String[]} ['js', 'jsx', 'ts', 'tsx'] File suffix used by bebel-plugin-import
theme {String} - Theme package name
iconBox {String} - Icon library package name
modifyVars {Object} {} Less variables
style {String|Boolean} true Style import method
removeFontFace {Boolean} false Whether to remove the font file that comes with the component library
defaultLanguage {string} - Replace the default language,language list

**Style import methods **

style: true will import less file

import '@arco-design/web-react/Affix/style'

style: 'css' will import css file

import '@arco-design/web-react/Affix/style/css'

style: false will not import any style file

arco-webpack-plugin's People

Contributors

kirazxyun avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.