swc-import-loader
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

swc-import-loader

介绍

由于rspack实现的swc-loader按需加载rspackExperiments.import(https://rspack.dev/zh/guide/features/builtin-swc-loader#rspackexperimentsimport) 支持不够,没有 camel2DashComponentName 功能。因此 swc-import-loader 可以理解为 babel-plugin-import的swc版本,Api配置参数完全参照 babel-plugin-import 定义,并且实现了 camel2DashComponentName 能力。

安装教程

# 通过 npm 安装
npm i swc-import-loader -D

# 通过 yarn 安装
yarn add swc-import-loader --dev

使用说明

rspack.config.js

module.exports = {
  module: {
    rules: [
      {
				test: /\.(jsx?|tsx?)$/,
				use: [
					{
						loader: "builtin:swc-loader",
						options: {
							jsc: {
								parser: {
									syntax: "typescript",
									tsx: true
								},
								transform: {
									react: {
										runtime: "automatic",
										development: true,
										refresh: true
									}
								}
							},
						}
					},
					{
						loader: 'swc-import-loader',
						options: {
							rspackExperiments: {
								import: [
									{
										libraryName: '@fexd/mobile',
										libraryDirectory: 'es/exports',
										camel2DashComponentName: false,
										style: (name) => `${name}/style.css`,
									},
                  {
										camel2DashComponentName: false,
										libraryName: 'ahooks',
										libraryDirectory: 'es',
									},
									{
										libraryName: 'antd',
										style: true,
									}
								]
							}
						}
					},
				]
			}
    ]
  }
};

更多配置参数请参考 babel-plugin-import (https://github.com/umijs/babel-plugin-import)

Package Sidebar

Install

npm i swc-import-loader

Weekly Downloads

1

Version

1.0.2

License

ISC

Unpacked Size

14.4 kB

Total Files

7

Last publish

Collaborators

  • wangwenshan