From c62268a51b2294659263f1d1293ad63e22269380 Mon Sep 17 00:00:00 2001 From: wkj <278599135@qq.com> Date: Fri, 1 Jul 2022 12:22:48 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=20webpack?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/mp/paths.js | 3 ++- config/mp/webpack.config.js | 27 +++++++++++++++++++++++++-- config/web/paths.js | 3 ++- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/config/mp/paths.js b/config/mp/paths.js index ebcf347..2348670 100644 --- a/config/mp/paths.js +++ b/config/mp/paths.js @@ -41,7 +41,7 @@ module.exports = { appIndexJs: resolveModule(resolveApp, 'src/app'), appPackageJson: resolveRoot('package.json'), appSrc: resolveApp('src'), - appTsConfig: resolveRoot('tsconfig.json'), + appTsConfig: resolveRoot('tsconfig.mp.json'), appJsConfig: resolveRoot('jsconfig.json'), yarnLockFile: resolveRoot('yarn.lock'), appNodeModules: resolveRoot('node_modules'), @@ -49,6 +49,7 @@ module.exports = { appTsBuildInfoFile: resolveRoot('node_modules/.cache/tsconfig.tsbuildinfo'), publicUrlOrPath: '/', appOutSrc: resolveRoot('src'), + appOutPath: resolveRoot('.'), oakConfigJson: resolveRoot('oak.config.json'), }; diff --git a/config/mp/webpack.config.js b/config/mp/webpack.config.js index 13bee4c..bb61595 100644 --- a/config/mp/webpack.config.js +++ b/config/mp/webpack.config.js @@ -73,6 +73,19 @@ module.exports = function (webpackEnv) { }; }; + const getOakInclude = () => { + return isEnvProduction + ? [/oak-general-business/] + : [ + /oak-domain/, + /oak-external-sdk/, + /oak-frontend-base/, + /oak-general-business/, + /oak-memory-tree-store/, + /oak-common-aspect/, + ]; + }; + return { context: paths.appSrc, devtool: isEnvDevelopment ? 'source-map' : false, @@ -218,17 +231,27 @@ module.exports = function (webpackEnv) { }, { test: /\.js$/, + include: [paths.appSrc, paths.appOutSrc].concat( + getOakInclude() + ), exclude: /node_modules/, loader: 'babel-loader', }, { - test: /\.ts$/, + test: /\.((?!tsx)ts)$/, + include: [paths.appSrc, paths.appOutSrc].concat( + getOakInclude() + ), exclude: /node_modules/, loader: 'ts-loader', + options: { + configFile: paths.appTsConfig, + context: paths.appOutPath, + }, }, // { // test: /\.json$/, - // include: /src/, + // include: paths.appSrc, // exclude: /node_modules/, // type: 'asset/resource', // generator: { diff --git a/config/web/paths.js b/config/web/paths.js index efb0560..9ce3e23 100644 --- a/config/web/paths.js +++ b/config/web/paths.js @@ -62,7 +62,7 @@ module.exports = { appIndexJs: resolveModule(resolveApp, 'src/index'), appPackageJson: resolveRoot('package.json'), appSrc: resolveApp('src'), - appTsConfig: resolveRoot('tsconfig.json'), + appTsConfig: resolveRoot('tsconfig.web.json'), appJsConfig: resolveRoot('jsconfig.json'), yarnLockFile: resolveRoot('yarn.lock'), testsSetup: resolveModule(resolveApp, 'src/setupTests'), @@ -73,6 +73,7 @@ module.exports = { swSrc: resolveModule(resolveApp, 'src/service-worker'), publicUrlOrPath, appOutSrc: resolveRoot('src'), + appOutPath: resolveRoot('.'), oakConfigJson: resolveRoot('oak.config.json'), };