From c65e1c089ceefa59fdd732e3fd8fd4a3746dd224 Mon Sep 17 00:00:00 2001 From: bac-joker Date: Thu, 4 Mar 2021 19:35:14 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20global=20css=20?= =?UTF-8?q?=E7=9A=84=E8=83=BD=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/fes-preset-built-in/src/index.js | 1 + .../src/plugins/features/globalCSS.js | 25 +++++++++++++++++++ packages/fes-template/src/global.css | 0 3 files changed, 26 insertions(+) create mode 100644 packages/fes-preset-built-in/src/plugins/features/globalCSS.js create mode 100644 packages/fes-template/src/global.css diff --git a/packages/fes-preset-built-in/src/index.js b/packages/fes-preset-built-in/src/index.js index 9da9ca76..83060016 100644 --- a/packages/fes-preset-built-in/src/index.js +++ b/packages/fes-preset-built-in/src/index.js @@ -28,6 +28,7 @@ export default function () { require.resolve('./plugins/features/extraBabelPresets'), require.resolve('./plugins/features/extraPostCSSPlugins'), require.resolve('./plugins/features/html'), + require.resolve('./plugins/features/globalCSS'), require.resolve('./plugins/features/inlineLimit'), require.resolve('./plugins/features/lessLoader'), require.resolve('./plugins/features/mountElementId'), diff --git a/packages/fes-preset-built-in/src/plugins/features/globalCSS.js b/packages/fes-preset-built-in/src/plugins/features/globalCSS.js new file mode 100644 index 00000000..0e12c756 --- /dev/null +++ b/packages/fes-preset-built-in/src/plugins/features/globalCSS.js @@ -0,0 +1,25 @@ +import { relative, join } from 'path'; +import { existsSync } from 'fs'; + +export default (api) => { + const { + paths, + utils: { winPath } + } = api; + const { absSrcPath = '', absTmpPath = '' } = paths; + const files = [ + 'global.css', + 'global.less', + 'global.stylus' + ]; + const globalCSSFile = files + .map(file => join(absSrcPath || '', file)) + .filter(file => existsSync(file)) + .slice(0, 1); + + api.addEntryCodeAhead( + () => `${globalCSSFile + .map(file => `require('${winPath(relative(absTmpPath, file))}');`) + .join('')}` + ); +}; diff --git a/packages/fes-template/src/global.css b/packages/fes-template/src/global.css new file mode 100644 index 00000000..e69de29b