Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mr-julyedu
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
baiguangyao
mr-julyedu
Commits
9c848b57
Commit
9c848b57
authored
Jun 20, 2019
by
zhanghaozhe
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
study style
parent
09aefd86
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
193 additions
and
0 deletions
+193
-0
scripts/build-pre.js
+0
-0
scripts/build-test.js
+192
-0
src/components/study/freeCourses/index.js
+1
-0
No files found.
scripts/pre.js
→
scripts/
build-
pre.js
View file @
9c848b57
File moved
scripts/build-test.js
0 → 100644
View file @
9c848b57
'use strict'
;
// Do this as the first thing so that any code reading it knows the right env.
process
.
env
.
BABEL_ENV
=
'production'
;
process
.
env
.
NODE_ENV
=
'production'
;
process
.
env
.
REACT_APP_BUILD_ENV
=
'test'
// Makes the script crash on unhandled rejections instead of silently
// ignoring them. In the future, promise rejections that are not handled will
// terminate the Node.js process with a non-zero exit code.
process
.
on
(
'unhandledRejection'
,
err
=>
{
throw
err
;
});
// Ensure environment variables are read.
require
(
'../config/env'
);
const
path
=
require
(
'path'
);
const
chalk
=
require
(
'react-dev-utils/chalk'
);
const
fs
=
require
(
'fs-extra'
);
const
webpack
=
require
(
'webpack'
);
const
bfj
=
require
(
'bfj'
);
const
configFactory
=
require
(
'../config/webpack.config'
);
const
paths
=
require
(
'../config/paths'
);
const
checkRequiredFiles
=
require
(
'react-dev-utils/checkRequiredFiles'
);
const
formatWebpackMessages
=
require
(
'react-dev-utils/formatWebpackMessages'
);
const
printHostingInstructions
=
require
(
'react-dev-utils/printHostingInstructions'
);
const
FileSizeReporter
=
require
(
'react-dev-utils/FileSizeReporter'
);
const
printBuildError
=
require
(
'react-dev-utils/printBuildError'
);
const
measureFileSizesBeforeBuild
=
FileSizeReporter
.
measureFileSizesBeforeBuild
;
const
printFileSizesAfterBuild
=
FileSizeReporter
.
printFileSizesAfterBuild
;
const
useYarn
=
fs
.
existsSync
(
paths
.
yarnLockFile
);
// These sizes are pretty large. We'll warn for bundles exceeding them.
const
WARN_AFTER_BUNDLE_GZIP_SIZE
=
512
*
1024
;
const
WARN_AFTER_CHUNK_GZIP_SIZE
=
1024
*
1024
;
const
isInteractive
=
process
.
stdout
.
isTTY
;
// Warn and crash if required files are missing
if
(
!
checkRequiredFiles
([
paths
.
appHtml
,
paths
.
appIndexJs
]))
{
process
.
exit
(
1
);
}
// Process CLI arguments
const
argv
=
process
.
argv
.
slice
(
2
);
const
writeStatsJson
=
argv
.
indexOf
(
'--stats'
)
!==
-
1
;
// Generate configuration
const
config
=
configFactory
(
'production'
);
// We require that you explicitly set browsers and do not fall back to
// browserslist defaults.
const
{
checkBrowsers
}
=
require
(
'react-dev-utils/browsersHelper'
);
checkBrowsers
(
paths
.
appPath
,
isInteractive
)
.
then
(()
=>
{
// First, read the current file sizes in build directory.
// This lets us display how much they changed later.
return
measureFileSizesBeforeBuild
(
paths
.
appBuild
);
})
.
then
(
previousFileSizes
=>
{
// Remove all content but keep the directory so that
// if you're in it, you don't end up in Trash
fs
.
emptyDirSync
(
paths
.
appBuild
);
// Merge with the public folder
copyPublicFolder
();
// Start the webpack build
return
build
(
previousFileSizes
);
})
.
then
(
({
stats
,
previousFileSizes
,
warnings
})
=>
{
if
(
warnings
.
length
)
{
console
.
log
(
chalk
.
yellow
(
'Compiled with warnings.
\
n'
));
console
.
log
(
warnings
.
join
(
'
\
n
\
n'
));
console
.
log
(
'
\
nSearch for the '
+
chalk
.
underline
(
chalk
.
yellow
(
'keywords'
))
+
' to learn more about each warning.'
);
console
.
log
(
'To ignore, add '
+
chalk
.
cyan
(
'// eslint-disable-next-line'
)
+
' to the line before.
\
n'
);
}
else
{
console
.
log
(
chalk
.
green
(
'Compiled successfully.
\
n'
));
}
console
.
log
(
'File sizes after gzip:
\
n'
);
printFileSizesAfterBuild
(
stats
,
previousFileSizes
,
paths
.
appBuild
,
WARN_AFTER_BUNDLE_GZIP_SIZE
,
WARN_AFTER_CHUNK_GZIP_SIZE
);
const
appPackage
=
require
(
paths
.
appPackageJson
);
const
publicUrl
=
paths
.
publicUrl
;
const
publicPath
=
config
.
output
.
publicPath
;
const
buildFolder
=
path
.
relative
(
process
.
cwd
(),
paths
.
appBuild
);
printHostingInstructions
(
appPackage
,
publicUrl
,
publicPath
,
buildFolder
,
useYarn
);
},
err
=>
{
console
.
log
(
chalk
.
red
(
'Failed to compile.
\
n'
));
printBuildError
(
err
);
process
.
exit
(
1
);
}
)
.
catch
(
err
=>
{
if
(
err
&&
err
.
message
)
{
console
.
log
(
err
.
message
);
}
process
.
exit
(
1
);
});
// Create the production build and print the deployment instructions.
function
build
(
previousFileSizes
)
{
console
.
log
(
'Creating an optimized production build...'
);
let
compiler
=
webpack
(
config
);
return
new
Promise
((
resolve
,
reject
)
=>
{
compiler
.
run
((
err
,
stats
)
=>
{
let
messages
;
if
(
err
)
{
if
(
!
err
.
message
)
{
return
reject
(
err
);
}
messages
=
formatWebpackMessages
({
errors
:
[
err
.
message
],
warnings
:
[],
});
}
else
{
messages
=
formatWebpackMessages
(
stats
.
toJson
({
all
:
false
,
warnings
:
true
,
errors
:
true
})
);
}
if
(
messages
.
errors
.
length
)
{
// Only keep the first error. Others are often indicative
// of the same problem, but confuse the reader with noise.
if
(
messages
.
errors
.
length
>
1
)
{
messages
.
errors
.
length
=
1
;
}
return
reject
(
new
Error
(
messages
.
errors
.
join
(
'
\
n
\
n'
)));
}
if
(
process
.
env
.
CI
&&
(
typeof
process
.
env
.
CI
!==
'string'
||
process
.
env
.
CI
.
toLowerCase
()
!==
'false'
)
&&
messages
.
warnings
.
length
)
{
console
.
log
(
chalk
.
yellow
(
'
\
nTreating warnings as errors because process.env.CI = true.
\
n'
+
'Most CI servers set it automatically.
\
n'
)
);
return
reject
(
new
Error
(
messages
.
warnings
.
join
(
'
\
n
\
n'
)));
}
const
resolveArgs
=
{
stats
,
previousFileSizes
,
warnings
:
messages
.
warnings
,
};
if
(
writeStatsJson
)
{
return
bfj
.
write
(
paths
.
appBuild
+
'/bundle-stats.json'
,
stats
.
toJson
())
.
then
(()
=>
resolve
(
resolveArgs
))
.
catch
(
error
=>
reject
(
new
Error
(
error
)));
}
return
resolve
(
resolveArgs
);
});
});
}
function
copyPublicFolder
()
{
fs
.
copySync
(
paths
.
appPublic
,
paths
.
appBuild
,
{
dereference
:
true
,
filter
:
file
=>
file
!==
paths
.
appHtml
,
});
}
src/components/study/freeCourses/index.js
View file @
9c848b57
...
...
@@ -103,6 +103,7 @@ class FreeCourse extends PureComponent {
}
id
=
{
item
[
'v_course_id'
]}
key
=
{
index
}
className
=
{
'course-item'
}
/
>
))
}
...
...
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