Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xiaomai-cloud-class-web
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xiaomai-cloud-class
xiaomai-cloud-class-web
Commits
520bd367
Commit
520bd367
authored
Jul 14, 2021
by
guomingpang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
test:build打包时将js、css、image等资源文件的目录static改为c-static
parent
1bf6cc7a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
135 additions
and
137 deletions
+135
-137
config/webpack.config.js
+135
-137
No files found.
config/webpack.config.js
View file @
520bd367
'use strict'
const
fs
=
require
(
'fs'
);
const
path
=
require
(
'path'
);
const
webpack
=
require
(
'webpack'
);
const
resolve
=
require
(
'resolve'
);
const
PnpWebpackPlugin
=
require
(
'pnp-webpack-plugin'
);
const
HtmlWebpackPlugin
=
require
(
'html-webpack-plugin'
);
const
CaseSensitivePathsPlugin
=
require
(
'case-sensitive-paths-webpack-plugin'
);
const
InlineChunkHtmlPlugin
=
require
(
'react-dev-utils/InlineChunkHtmlPlugin'
);
const
TerserPlugin
=
require
(
'terser-webpack-plugin'
);
const
MiniCssExtractPlugin
=
require
(
'mini-css-extract-plugin'
);
const
OptimizeCSSAssetsPlugin
=
require
(
'optimize-css-assets-webpack-plugin'
);
const
safePostCssParser
=
require
(
'postcss-safe-parser'
);
const
ManifestPlugin
=
require
(
'webpack-manifest-plugin'
);
const
InterpolateHtmlPlugin
=
require
(
'react-dev-utils/InterpolateHtmlPlugin'
);
const
WorkboxWebpackPlugin
=
require
(
'workbox-webpack-plugin'
);
const
WatchMissingNodeModulesPlugin
=
require
(
'react-dev-utils/WatchMissingNodeModulesPlugin'
);
const
ModuleScopePlugin
=
require
(
'react-dev-utils/ModuleScopePlugin'
);
const
getCSSModuleLocalIdent
=
require
(
'react-dev-utils/getCSSModuleLocalIdent'
);
const
paths
=
require
(
'./paths'
);
const
modules
=
require
(
'./modules'
);
const
vConsolePlugin
=
require
(
'vconsole-webpack-plugin'
);
const
getClientEnvironment
=
require
(
'./env'
);
const
ModuleNotFoundPlugin
=
require
(
'react-dev-utils/ModuleNotFoundPlugin'
);
const
ForkTsCheckerWebpackPlugin
=
require
(
'react-dev-utils/ForkTsCheckerWebpackPlugin'
);
const
typescriptFormatter
=
require
(
'react-dev-utils/typescriptFormatter'
);
const
fs
=
require
(
'fs'
)
const
path
=
require
(
'path'
)
const
webpack
=
require
(
'webpack'
)
const
resolve
=
require
(
'resolve'
)
const
PnpWebpackPlugin
=
require
(
'pnp-webpack-plugin'
)
const
HtmlWebpackPlugin
=
require
(
'html-webpack-plugin'
)
const
CaseSensitivePathsPlugin
=
require
(
'case-sensitive-paths-webpack-plugin'
)
const
InlineChunkHtmlPlugin
=
require
(
'react-dev-utils/InlineChunkHtmlPlugin'
)
const
TerserPlugin
=
require
(
'terser-webpack-plugin'
)
const
MiniCssExtractPlugin
=
require
(
'mini-css-extract-plugin'
)
const
OptimizeCSSAssetsPlugin
=
require
(
'optimize-css-assets-webpack-plugin'
)
const
safePostCssParser
=
require
(
'postcss-safe-parser'
)
const
ManifestPlugin
=
require
(
'webpack-manifest-plugin'
)
const
InterpolateHtmlPlugin
=
require
(
'react-dev-utils/InterpolateHtmlPlugin'
)
const
WorkboxWebpackPlugin
=
require
(
'workbox-webpack-plugin'
)
const
WatchMissingNodeModulesPlugin
=
require
(
'react-dev-utils/WatchMissingNodeModulesPlugin'
)
const
ModuleScopePlugin
=
require
(
'react-dev-utils/ModuleScopePlugin'
)
const
getCSSModuleLocalIdent
=
require
(
'react-dev-utils/getCSSModuleLocalIdent'
)
const
paths
=
require
(
'./paths'
)
const
modules
=
require
(
'./modules'
)
const
vConsolePlugin
=
require
(
'vconsole-webpack-plugin'
)
const
getClientEnvironment
=
require
(
'./env'
)
const
ModuleNotFoundPlugin
=
require
(
'react-dev-utils/ModuleNotFoundPlugin'
)
const
ForkTsCheckerWebpackPlugin
=
require
(
'react-dev-utils/ForkTsCheckerWebpackPlugin'
)
const
typescriptFormatter
=
require
(
'react-dev-utils/typescriptFormatter'
)
const
postcssNormalize
=
require
(
'postcss-normalize'
);
const
postcssNormalize
=
require
(
'postcss-normalize'
)
const
appPackageJson
=
require
(
paths
.
appPackageJson
)
const
appPackageJson
=
require
(
paths
.
appPackageJson
);
// Source maps are resource heavy and can cause out of memory issue for large source files.
const
shouldUseSourceMap
=
process
.
env
.
GENERATE_SOURCEMAP
!==
'false'
const
shouldUseSourceMap
=
process
.
env
.
GENERATE_SOURCEMAP
!==
'false'
;
// Some apps do not need the benefits of saving a web request, so not inlining the chunk
// makes for a smoother build process.
const
shouldInlineRuntimeChunk
=
process
.
env
.
INLINE_RUNTIME_CHUNK
!==
'false'
const
shouldInlineRuntimeChunk
=
process
.
env
.
INLINE_RUNTIME_CHUNK
!==
'false'
;
const
isExtendingEslintConfig
=
process
.
env
.
EXTEND_ESLINT
===
'true'
const
isExtendingEslintConfig
=
process
.
env
.
EXTEND_ESLINT
===
'true'
;
const
imageInlineSizeLimit
=
parseInt
(
process
.
env
.
IMAGE_INLINE_SIZE_LIMIT
||
'10000'
)
const
imageInlineSizeLimit
=
parseInt
(
process
.
env
.
IMAGE_INLINE_SIZE_LIMIT
||
'10000'
)
;
// Check if TypeScript is setup
const
useTypeScript
=
fs
.
existsSync
(
paths
.
appTsConfig
)
const
useTypeScript
=
fs
.
existsSync
(
paths
.
appTsConfig
)
;
// style files regexes
const
cssRegex
=
/
\.
css$/
const
cssModuleRegex
=
/
\.
module
\.
css$/
const
lessRegex
=
/
\.
less$/
const
lessModuleRegex
=
/
\.
module
\.
less$/
const
cssRegex
=
/
\.
css$/
;
const
cssModuleRegex
=
/
\.
module
\.
css$/
;
const
lessRegex
=
/
\.
less$/
;
const
lessModuleRegex
=
/
\.
module
\.
less$/
;
// This is the production and development configuration.
// It is focused on developer experience, fast rebuilds, and a minimal bundle.
module
.
exports
=
function
(
webpackEnv
)
{
const
isEnvDevelopment
=
webpackEnv
===
'development'
const
isEnvProduction
=
webpackEnv
===
'production'
const
isEnvDevelopment
=
webpackEnv
===
'development'
;
const
isEnvProduction
=
webpackEnv
===
'production'
;
// Variable used for enabling profiling in Production
// passed into alias object. Uses a flag if passed into the build command
const
isEnvProductionProfile
=
isEnvProduction
&&
process
.
argv
.
includes
(
'--profile'
)
const
isEnvProductionProfile
=
isEnvProduction
&&
process
.
argv
.
includes
(
'--profile'
)
;
// We will provide `paths.publicUrlOrPath` to our app
// as %PUBLIC_URL% in `index.html` and `process.env.PUBLIC_URL` in JavaScript.
// Omit trailing slash as %PUBLIC_URL%/xyz looks better than %PUBLIC_URL%xyz.
// Get environment variables to inject into our app.
const
env
=
getClientEnvironment
(
paths
.
publicUrlOrPath
.
slice
(
0
,
-
1
))
const
env
=
getClientEnvironment
(
paths
.
publicUrlOrPath
.
slice
(
0
,
-
1
))
;
var
PREFIX
=
'b-'
;
//static 文件夹前缀
// common function to get style loaders
const
getStyleLoaders
=
(
cssOptions
,
preProcessor
)
=>
{
const
loaders
=
[
...
...
@@ -73,11 +71,11 @@ module.exports = function (webpackEnv) {
loader
:
MiniCssExtractPlugin
.
loader
,
// css is located in `static/css`, use '../../' to locate index.html folder
// in production `paths.publicUrlOrPath` can be a relative path
options
:
paths
.
publicUrlOrPath
.
startsWith
(
'.'
)
?
{
publicPath
:
'../../'
}
:
{}
options
:
paths
.
publicUrlOrPath
.
startsWith
(
'.'
)
?
{
publicPath
:
'../../'
}
:
{}
,
},
{
loader
:
require
.
resolve
(
'css-loader'
),
options
:
cssOptions
options
:
cssOptions
,
},
{
// Options for PostCSS as we reference these options twice
...
...
@@ -92,32 +90,32 @@ module.exports = function (webpackEnv) {
require
(
'postcss-flexbugs-fixes'
),
require
(
'postcss-preset-env'
)({
autoprefixer
:
{
flexbox
:
'no-2009'
flexbox
:
'no-2009'
,
},
stage
:
3
stage
:
3
,
}),
// Adds PostCSS Normalize as the reset css with default options,
// so that it honors browserslist config in package.json
// which in turn let's users customize the target behavior as per their needs.
postcssNormalize
()
postcssNormalize
()
,
],
sourceMap
:
isEnvProduction
&&
shouldUseSourceMap
}
}
].
filter
(
Boolean
)
sourceMap
:
isEnvProduction
&&
shouldUseSourceMap
,
}
,
}
,
].
filter
(
Boolean
)
;
if
(
preProcessor
)
{
loaders
.
push
(
{
loader
:
require
.
resolve
(
'resolve-url-loader'
),
options
:
{
sourceMap
:
isEnvProduction
&&
shouldUseSourceMap
}
sourceMap
:
isEnvProduction
&&
shouldUseSourceMap
,
}
,
},
{
loader
:
require
.
resolve
(
preProcessor
),
options
:
{
sourceMap
:
true
}
sourceMap
:
true
,
}
,
},
{
loader
:
require
.
resolve
(
'less-loader'
),
...
...
@@ -127,14 +125,14 @@ module.exports = function (webpackEnv) {
'primary-color'
:
'#2966FF'
,
'border-radius-base'
:
'2px'
,
},
javascriptEnabled
:
true
}
}
javascriptEnabled
:
true
,
}
,
}
,
}
)
)
;
}
return
loaders
}
return
loaders
;
}
;
return
{
mode
:
isEnvProduction
?
'production'
:
isEnvDevelopment
&&
'development'
,
...
...
@@ -156,7 +154,7 @@ module.exports = function (webpackEnv) {
isEnvDevelopment
&&
require
.
resolve
(
'webpack/hot/dev-server'
),
isEnvDevelopment
&&
require
.
resolve
(
'react-dev-utils/webpackHotDevClient'
),
// Finally, this is your app's code:
paths
.
appIndexJs
paths
.
appIndexJs
,
// We include the app code last so that if there is a runtime error during
// initialization, it doesn't blow up the WebpackDevServer client, and
// changing JS code would still trigger a refresh.
...
...
@@ -168,11 +166,11 @@ module.exports = function (webpackEnv) {
pathinfo
:
isEnvDevelopment
,
// There will be one main bundle, and one file per asynchronous chunk.
// In development, it does not produce real files.
filename
:
isEnvProduction
?
'static/js/[name].[contenthash:8].js'
:
isEnvDevelopment
&&
'static/js/bundle.js'
,
filename
:
isEnvProduction
?
PREFIX
+
'static/js/[name].[contenthash:8].js'
:
isEnvDevelopment
&&
PREFIX
+
'static/js/bundle.js'
,
// TODO: remove this when upgrading to webpack 5
futureEmitAssets
:
true
,
// There are also additional JS chunk files if you use code splitting.
chunkFilename
:
isEnvProduction
?
'static/js/[name].[contenthash:8].chunk.js'
:
isEnvDevelopment
&&
'static/js/[name].chunk.js'
,
chunkFilename
:
isEnvProduction
?
PREFIX
+
'static/js/[name].[contenthash:8].chunk.js'
:
isEnvDevelopment
&&
PREFIX
+
'static/js/[name].chunk.js'
,
// webpack uses `publicPath` to determine where the app is being served from.
// It requires a trailing slash, or the file assets will get an incorrect path.
// We inferred the "public path" (such as / or /my-project) from homepage.
...
...
@@ -189,7 +187,7 @@ module.exports = function (webpackEnv) {
globalObject
:
'this'
,
library
:
appPackageJson
.
name
,
libraryTarget
:
'umd'
,
jsonpFunction
:
`webpackJsonp_
${
appPackageJson
.
name
}
`
jsonpFunction
:
`webpackJsonp_
${
appPackageJson
.
name
}
`
,
},
optimization
:
{
minimize
:
isEnvProduction
,
...
...
@@ -203,7 +201,7 @@ module.exports = function (webpackEnv) {
// into invalid ecma 5 code. This is why the 'compress' and 'output'
// sections only apply transformations that are ecma 5 safe
// https://github.com/facebook/create-react-app/pull/4234
ecma
:
8
ecma
:
8
,
},
compress
:
{
ecma
:
5
,
...
...
@@ -217,10 +215,10 @@ module.exports = function (webpackEnv) {
// https://github.com/facebook/create-react-app/issues/5250
// Pending further investigation:
// https://github.com/terser-js/terser/issues/120
inline
:
2
inline
:
2
,
},
mangle
:
{
safari10
:
true
safari10
:
true
,
},
// Added for profiling in devtools
keep_classnames
:
isEnvProductionProfile
,
...
...
@@ -230,10 +228,10 @@ module.exports = function (webpackEnv) {
comments
:
false
,
// Turned on because emoji and regex is not minified properly using default
// https://github.com/facebook/create-react-app/issues/2488
ascii_only
:
true
}
ascii_only
:
true
,
}
,
},
sourceMap
:
shouldUseSourceMap
sourceMap
:
shouldUseSourceMap
,
}),
// This is only used in production mode
new
OptimizeCSSAssetsPlugin
({
...
...
@@ -246,28 +244,28 @@ module.exports = function (webpackEnv) {
inline
:
false
,
// `annotation: true` appends the sourceMappingURL to the end of
// the css file, helping the browser find the sourcemap
annotation
:
true
annotation
:
true
,
}
:
false
:
false
,
},
cssProcessorPluginOptions
:
{
preset
:
[
'default'
,
{
minifyFontValues
:
{
removeQuotes
:
false
}
}]
}
})
preset
:
[
'default'
,
{
minifyFontValues
:
{
removeQuotes
:
false
}
}]
,
}
,
})
,
],
// Automatically split vendor and commons
// https://twitter.com/wSokra/status/969633336732905474
// https://medium.com/webpack/webpack-4-code-splitting-chunk-graph-and-the-splitchunks-optimization-be739a861366
splitChunks
:
{
chunks
:
'all'
,
name
:
false
name
:
false
,
},
// Keep the runtime chunk separated to enable long term caching
// https://twitter.com/wSokra/status/969679223278505985
// https://github.com/facebook/create-react-app/issues/5358
runtimeChunk
:
{
name
:
(
entrypoint
)
=>
`runtime-
${
entrypoint
.
name
}
`
}
name
:
(
entrypoint
)
=>
`runtime-
${
entrypoint
.
name
}
`
,
}
,
},
resolve
:
{
// This allows you to set a fallback for where webpack should look for modules.
...
...
@@ -290,9 +288,9 @@ module.exports = function (webpackEnv) {
// Allows for better profiling with ReactDevTools
...(
isEnvProductionProfile
&&
{
'react-dom$'
:
'react-dom/profiling'
,
'scheduler/tracing'
:
'scheduler/tracing-profiling'
'scheduler/tracing'
:
'scheduler/tracing-profiling'
,
}),
...(
modules
.
webpackAliases
||
{})
...(
modules
.
webpackAliases
||
{})
,
},
plugins
:
[
// Adds support for installing with Plug'n'Play, leading to faster installs and adding
...
...
@@ -303,15 +301,15 @@ module.exports = function (webpackEnv) {
// To fix this, we prevent you from importing files out of src/ -- if you'd like to,
// please link the files into your node_modules/ and let module-resolution kick in.
// Make sure your source files are compiled, as they will not be processed in any way.
new
ModuleScopePlugin
(
paths
.
appSrc
,
[
paths
.
appPackageJson
])
]
new
ModuleScopePlugin
(
paths
.
appSrc
,
[
paths
.
appPackageJson
])
,
]
,
},
resolveLoader
:
{
plugins
:
[
// Also related to Plug'n'Play, but this time it tells webpack to load its loaders
// from the current package.
PnpWebpackPlugin
.
moduleLoader
(
module
)
]
PnpWebpackPlugin
.
moduleLoader
(
module
)
,
]
,
},
module
:
{
strictExportPresence
:
true
,
...
...
@@ -330,12 +328,12 @@ module.exports = function (webpackEnv) {
cache
:
true
,
formatter
:
require
.
resolve
(
'react-dev-utils/eslintFormatter'
),
eslintPath
:
require
.
resolve
(
'eslint'
),
resolvePluginsRelativeTo
:
__dirname
resolvePluginsRelativeTo
:
__dirname
,
},
loader
:
require
.
resolve
(
'eslint-loader'
)
}
loader
:
require
.
resolve
(
'eslint-loader'
)
,
}
,
],
include
:
paths
.
appSrc
include
:
paths
.
appSrc
,
},
{
// "oneOf" will traverse all following loaders until one will
...
...
@@ -350,8 +348,8 @@ module.exports = function (webpackEnv) {
loader
:
require
.
resolve
(
'url-loader'
),
options
:
{
limit
:
imageInlineSizeLimit
,
name
:
'static/media/[name].[hash:8].[ext]'
}
name
:
PREFIX
+
'static/media/[name].[hash:8].[ext]'
,
}
,
},
// Process application JS with Babel.
// The preset includes JSX, Flow, TypeScript, and some ESnext features.
...
...
@@ -368,11 +366,11 @@ module.exports = function (webpackEnv) {
{
loaderMap
:
{
svg
:
{
ReactComponent
:
'@svgr/webpack?-svgo,+titleProp,+ref![path]'
}
}
}
]
ReactComponent
:
'@svgr/webpack?-svgo,+titleProp,+ref![path]'
,
}
,
}
,
}
,
]
,
],
// This is a feature of `babel-loader` for webpack (not Babel itself).
// It enables caching results in ./node_modules/.cache/babel-loader/
...
...
@@ -380,8 +378,8 @@ module.exports = function (webpackEnv) {
cacheDirectory
:
true
,
// See #6846 for context on why cacheCompression is disabled
cacheCompression
:
false
,
compact
:
isEnvProduction
}
compact
:
isEnvProduction
,
}
,
},
// Process any JS outside of the app with Babel.
// Unlike the application JS, we only compile the standard ES features.
...
...
@@ -402,8 +400,8 @@ module.exports = function (webpackEnv) {
// code. Without the options below, debuggers like VSCode
// show incorrect code and set breakpoints on the wrong lines.
sourceMaps
:
shouldUseSourceMap
,
inputSourceMap
:
shouldUseSourceMap
}
inputSourceMap
:
shouldUseSourceMap
,
}
,
},
// "postcss" loader applies autoprefixer to our CSS.
// "css" loader resolves paths in CSS and adds assets as dependencies.
...
...
@@ -417,13 +415,13 @@ module.exports = function (webpackEnv) {
exclude
:
cssModuleRegex
,
use
:
getStyleLoaders
({
importLoaders
:
1
,
sourceMap
:
isEnvProduction
&&
shouldUseSourceMap
sourceMap
:
isEnvProduction
&&
shouldUseSourceMap
,
}),
// Don't consider CSS imports dead code even if the
// containing package claims to have no side effects.
// Remove this when webpack adds a warning or an error for this.
// See https://github.com/webpack/webpack/issues/6571
sideEffects
:
true
sideEffects
:
true
,
},
// Adds support for CSS Modules (https://github.com/css-modules/css-modules)
// using the extension .module.css
...
...
@@ -433,9 +431,9 @@ module.exports = function (webpackEnv) {
importLoaders
:
1
,
sourceMap
:
isEnvProduction
&&
shouldUseSourceMap
,
modules
:
{
getLocalIdent
:
getCSSModuleLocalIdent
}
})
getLocalIdent
:
getCSSModuleLocalIdent
,
}
,
})
,
},
// Opt-in support for SASS (using .scss or .sass extensions).
// By default we support SASS Modules with the
...
...
@@ -446,11 +444,11 @@ module.exports = function (webpackEnv) {
use
:
getStyleLoaders
(
{
importLoaders
:
2
,
sourceMap
:
isEnvProduction
&&
shouldUseSourceMap
sourceMap
:
isEnvProduction
&&
shouldUseSourceMap
,
},
'less-loader'
),
sideEffects
:
true
sideEffects
:
true
,
},
{
test
:
lessModuleRegex
,
...
...
@@ -459,10 +457,10 @@ module.exports = function (webpackEnv) {
importLoaders
:
2
,
sourceMap
:
isEnvProduction
&&
shouldUseSourceMap
,
modules
:
true
,
getLocalIdent
:
getCSSModuleLocalIdent
getLocalIdent
:
getCSSModuleLocalIdent
,
},
'less-loader'
)
)
,
},
// "file" loader makes sure those assets get served by WebpackDevServer.
// When you `import` an asset, you get its (virtual) filename.
...
...
@@ -477,14 +475,14 @@ module.exports = function (webpackEnv) {
// by webpacks internal loaders.
exclude
:
[
/
\.(
js|mjs|jsx|ts|tsx
)
$/
,
/
\.
html$/
,
/
\.
json$/
],
options
:
{
name
:
'static/media/[name].[hash:8].[ext]'
}
}
name
:
PREFIX
+
'static/media/[name].[hash:8].[ext]'
,
}
,
}
,
// ** STOP ** Are you adding a new loader?
// Make sure to add the new loader(s) before the "file" loader.
]
}
]
]
,
}
,
]
,
},
plugins
:
[
// Generates an `index.html` file with the <script> injected.
...
...
@@ -493,7 +491,7 @@ module.exports = function (webpackEnv) {
{},
{
inject
:
true
,
template
:
paths
.
appHtml
template
:
paths
.
appHtml
,
},
isEnvProduction
?
{
...
...
@@ -507,8 +505,8 @@ module.exports = function (webpackEnv) {
keepClosingSlash
:
true
,
minifyJS
:
true
,
minifyCSS
:
true
,
minifyURLs
:
true
}
minifyURLs
:
true
,
}
,
}
:
undefined
)
...
...
@@ -547,8 +545,8 @@ module.exports = function (webpackEnv) {
new
MiniCssExtractPlugin
({
// Options similar to the same options in webpackOptions.output
// both options are optional
filename
:
'static/css/[name].[contenthash:8].css'
,
chunkFilename
:
'static/css/[name].[contenthash:8].chunk.css'
filename
:
PREFIX
+
'static/css/[name].[contenthash:8].css'
,
chunkFilename
:
PREFIX
+
'static/css/[name].[contenthash:8].chunk.css'
,
}),
// Generate an asset manifest file with the following content:
// - "files" key: Mapping of all asset filenames to their corresponding
...
...
@@ -561,16 +559,16 @@ module.exports = function (webpackEnv) {
publicPath
:
paths
.
publicUrlOrPath
,
generate
:
(
seed
,
files
,
entrypoints
)
=>
{
const
manifestFiles
=
files
.
reduce
((
manifest
,
file
)
=>
{
manifest
[
file
.
name
]
=
file
.
path
return
manifest
},
seed
)
const
entrypointFiles
=
entrypoints
.
main
.
filter
((
fileName
)
=>
!
fileName
.
endsWith
(
'.map'
))
manifest
[
file
.
name
]
=
file
.
path
;
return
manifest
;
},
seed
)
;
const
entrypointFiles
=
entrypoints
.
main
.
filter
((
fileName
)
=>
!
fileName
.
endsWith
(
'.map'
))
;
return
{
files
:
manifestFiles
,
entrypoints
:
entrypointFiles
}
}
entrypoints
:
entrypointFiles
,
}
;
}
,
}),
// Moment.js is an extremely popular library that bundles large locale files
...
...
@@ -594,14 +592,14 @@ module.exports = function (webpackEnv) {
// as they're likely a resource and not a SPA route.
// URLs containing a "?" character won't be blacklisted as they're likely
// a route with query params (e.g. auth callbacks).
new
RegExp
(
'/[^/?]+
\\
.[^/]+$'
)
]
new
RegExp
(
'/[^/?]+
\\
.[^/]+$'
)
,
]
,
}),
// TypeScript type checking
useTypeScript
&&
new
ForkTsCheckerWebpackPlugin
({
typescript
:
resolve
.
sync
(
'typescript'
,
{
basedir
:
paths
.
appNodeModules
basedir
:
paths
.
appNodeModules
,
}),
async
:
isEnvDevelopment
,
useTypescriptIncrementalApi
:
true
,
...
...
@@ -612,8 +610,8 @@ module.exports = function (webpackEnv) {
reportFiles
:
[
'**'
,
'!**/__tests__/**'
,
'!**/?(*.)(spec|test).*'
,
'!**/src/setupProxy.*'
,
'!**/src/setupTests.*'
],
silent
:
true
,
// The formatter is invoked directly in WebpackDevServerUtils during development
formatter
:
isEnvProduction
?
typescriptFormatter
:
undefined
})
formatter
:
isEnvProduction
?
typescriptFormatter
:
undefined
,
})
,
// new vConsolePlugin({
// enable: (process.env.DEPLOY_ENV === 'prod' || process.env.DEPLOY_ENV === 'beta') ? false : true
// })
...
...
@@ -628,10 +626,10 @@ module.exports = function (webpackEnv) {
http2
:
'empty'
,
net
:
'empty'
,
tls
:
'empty'
,
child_process
:
'empty'
child_process
:
'empty'
,
},
// Turn off performance processing because we utilize
// our own hints via the FileSizeReporter
performance
:
false
}
}
performance
:
false
,
}
;
}
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment