diff --git a/README.md b/README.md index ae94d9f..3fa3896 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# vite-plugin-theme +# @xlaoyu/vite-plugin-theme **English** | [中文](./README.zh_CN.md) @@ -15,13 +15,13 @@ After vite processes the css and dynamically analyzes the color value in the css **vite version:** >=2.0.0 ``` -yarn add vite-plugin-theme -D +yarn add @xlaoyu/vite-plugin-theme -D ``` or ``` -npm i vite-plugin-theme -D +npm i @xlaoyu/vite-plugin-theme -D ``` ## Usage @@ -32,7 +32,7 @@ npm i vite-plugin-theme -D import { defineConfig, Plugin } from 'vite'; import vue from '@vitejs/plugin-vue'; -import { viteThemePlugin, mixLighten, mixDarken, tinycolor } from 'vite-plugin-theme'; +import { viteThemePlugin, mixLighten, mixDarken, tinycolor } from '@xlaoyu/vite-plugin-theme'; export default defineConfig({ plugins: [ diff --git a/README.zh_CN.md b/README.zh_CN.md index fa20d29..5db64c1 100644 --- a/README.zh_CN.md +++ b/README.zh_CN.md @@ -1,4 +1,4 @@ -# vite-plugin-theme +# @xlaoyu/vite-plugin-theme **中文** | [English](./README.md) @@ -15,13 +15,13 @@ **vite version:** >=2.0.0 ``` -yarn add vite-plugin-theme -D +yarn add @xlaoyu/vite-plugin-theme -D ``` 或者 ``` -npm i vite-plugin-theme -D +npm i @xlaoyu/vite-plugin-theme -D ``` ## 使用 @@ -32,7 +32,7 @@ npm i vite-plugin-theme -D import { defineConfig, Plugin } from 'vite'; import vue from '@vitejs/plugin-vue'; -import { viteThemePlugin, mixLighten, mixDarken, tinycolor } from 'vite-plugin-theme'; +import { viteThemePlugin, mixLighten, mixDarken, tinycolor } from '@xlaoyu/vite-plugin-theme'; export default defineConfig({ plugins: [ diff --git a/package.json b/package.json index 87dce98..6a80de6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "vite-plugin-theme", - "version": "0.8.3", + "name": "@xlaoyu/vite-plugin-theme", + "version": "0.9.0", "description": "Vite plugin for dynamically changing the theme color of the interface", "main": "dist/index.js", "module": "dist/index.js", @@ -38,14 +38,14 @@ "license": "MIT", "repository": { "type": "git", - "url": "https://github.com/vbenjs/vite-plugin-theme" + "url": "https://github.com/Yuliang-Lee/vite-plugin-theme" }, "bugs": { - "url": "https://github.com/vbenjs/vite-plugin-theme/issues" + "url": "https://github.com/Yuliang-Lee/vite-plugin-theme/issues" }, - "homepage": "https://github.com/vbenjs/vite-plugin-theme/tree/master/#readme", + "homepage": "https://github.com/Yuliang-Lee/vite-plugin-theme/tree/master/#readme", "peerDependencies": { - "vite": ">=2.0.0-beta.49" + "vite": ">=3.0.0" }, "devDependencies": { "@commitlint/cli": "^12.1.4", diff --git a/src/constants.ts b/src/constants.ts index 456a1b5..ade2a24 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -4,7 +4,7 @@ import { normalizePath } from 'vite'; export const VITE_CLIENT_ENTRY = '/@vite/client'; export const VITE_PLUGIN_THEME_CLIENT_ENTRY = normalizePath( - path.resolve(process.cwd(), 'node_modules/vite-plugin-theme/es/') + path.resolve(process.cwd(), 'node_modules/@xlaoyu/vite-plugin-theme/es/') ); export const CLIENT_PUBLIC_ABSOLUTE_PATH = normalizePath( diff --git a/src/index.ts b/src/index.ts index eab60ee..835a4e1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -22,6 +22,7 @@ export interface ViteThemeOptions { fileName?: string; injectTo?: InjectTo; verbose?: boolean; + isProd: boolean; // 必须传递环境标识 } import { createFileHash, formatCss } from './utils'; @@ -36,7 +37,7 @@ export function viteThemePlugin(opt: ViteThemeOptions): Plugin[] { let clientPath = ''; const styleMap = new Map(); - let extCssSet = new Set(); + const extCssSet = new Set(); const emptyPlugin: Plugin = { name: 'vite:theme', @@ -49,6 +50,7 @@ export function viteThemePlugin(opt: ViteThemeOptions): Plugin[] { fileName: 'app-theme-style', injectTo: 'body', verbose: true, + isProd: true, // 默认为 true,切换主题只在生产环境生效。 }, opt ); @@ -81,7 +83,7 @@ export function viteThemePlugin(opt: ViteThemeOptions): Plugin[] { }), { ...emptyPlugin, - enforce: 'post', + enforce: options.isProd ? undefined : 'post', // 生产环境不设置 enforce;开发环境设置为 post,切换主题才会都生效。 configResolved(resolvedConfig) { config = resolvedConfig; isServer = resolvedConfig.command === 'serve'; diff --git a/src/injectClientPlugin.ts b/src/injectClientPlugin.ts index dc52ee2..394834f 100644 --- a/src/injectClientPlugin.ts +++ b/src/injectClientPlugin.ts @@ -59,12 +59,12 @@ export function injectClientPlugin( }, async transform(code, id) { const nid = normalizePath(id); - const path = normalizePath('vite-plugin-theme/es/client.js'); + const path = normalizePath('@xlaoyu/vite-plugin-theme/es/client.js'); const getMap = () => (needSourcemap ? this.getCombinedSourcemap() : null); if ( nid === CLIENT_PUBLIC_ABSOLUTE_PATH || - nid.endsWith(path) || + nid.includes(path) || // support .vite cache nid.includes(path.replace(/\//gi, '_')) ) {