Skip to content

Commit 5bb3639

Browse files
committed
feat(docs): add service worker cache
1 parent 3efc0b4 commit 5bb3639

File tree

7 files changed

+21
-36
lines changed

7 files changed

+21
-36
lines changed

lib/assets/template.ejs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
// The above line can throw if we do not have access to the parent frame -- i.e. cross origin
1818
}
1919
}
20+
if ('serviceWorker' in navigator) {
21+
navigator.serviceWorker.register('/service-worker.js')
22+
}
2023
</script>
2124
<%= header %>
2225
<style>
@@ -58,15 +61,6 @@
5861
if(svg) svg.style.display = 'block'
5962
},1000)
6063
</script>
61-
<script
62-
src="https://unpkg.com/react@16/umd/react.<%= development ? "development" : "production.min" %>.js"
63-
></script>
64-
<script
65-
src="https://unpkg.com/react-dom@16/umd/react-dom.<%= development ? "development" : "production.min" %>.js"
66-
></script>
67-
<script
68-
src="https://unpkg.com/react-is@16/umd/react-is.<%= development ? "development" : "production.min" %>.js"
69-
></script>
7064
<%= footer %>
7165
</body>
7266
</html>

lib/webpack/base.js

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,6 @@ module.exports = function (options) {
5454
'styled-components': require.resolve('styled-components')
5555
}, _alias[pkg.name] = getPkgPath(), _alias)
5656
},
57-
externals: {
58-
react: 'React',
59-
'react-dom': 'ReactDOM',
60-
'react-is': 'ReactIs'
61-
},
6257
plugins: [new ProgressBarPlugin({
6358
clear: true
6459
}), new CaseSensitivePathsPlugin(), new webpack.ContextReplacementPlugin(/lib[/\\]languages$/, /javascript|htmlbars|typescript|scss|css|bash/)],

lib/webpack/production.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ var pkg = require(path.resolve(process.cwd(), './package.json'));
1414

1515
var HtmlWebpackPlugin = require('html-webpack-plugin');
1616

17+
var _require = require('workbox-webpack-plugin'),
18+
GenerateSW = _require.GenerateSW;
19+
1720
module.exports = function (options) {
1821
var _ref = options || {},
1922
header = _ref.header,
@@ -28,7 +31,7 @@ module.exports = function (options) {
2831
chunks: ['index'],
2932
templateParameters: {
3033
title: title ? title : pkg.name + "@" + pkg.version,
31-
development: true,
34+
development: false,
3235
header: header,
3336
footer: footer
3437
}
@@ -40,11 +43,11 @@ module.exports = function (options) {
4043
chunks: ['iframe'],
4144
templateParameters: {
4245
title: title ? title : pkg.name + "@" + pkg.version,
43-
development: true,
46+
development: false,
4447
header: header,
4548
footer: footer
4649
}
47-
}));
50+
}), new GenerateSW());
4851
return (0, _extends2["default"])({}, config, {
4952
mode: 'production'
5053
});

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "doc-scripts",
3-
"version": "1.8.5",
3+
"version": "1.8.6",
44
"description": "react demo server",
55
"main": "lib",
66
"scripts": {
@@ -75,7 +75,8 @@
7575
"virtual-module-webpack-plugin": "^0.4.1",
7676
"webpack": "^4.28.2",
7777
"webpack-dev-server": "^3.1.14",
78-
"webpack-merge": "^4.1.5"
78+
"webpack-merge": "^4.1.5",
79+
"workbox-webpack-plugin": "^5.1.1"
7980
},
8081
"license": "MIT",
8182
"author": "janryWang",

src/assets/template.ejs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
// The above line can throw if we do not have access to the parent frame -- i.e. cross origin
1818
}
1919
}
20+
if ('serviceWorker' in navigator) {
21+
navigator.serviceWorker.register('/service-worker.js')
22+
}
2023
</script>
2124
<%= header %>
2225
<style>
@@ -58,15 +61,6 @@
5861
if(svg) svg.style.display = 'block'
5962
},1000)
6063
</script>
61-
<script
62-
src="https://unpkg.com/react@16/umd/react.<%= development ? "development" : "production.min" %>.js"
63-
></script>
64-
<script
65-
src="https://unpkg.com/react-dom@16/umd/react-dom.<%= development ? "development" : "production.min" %>.js"
66-
></script>
67-
<script
68-
src="https://unpkg.com/react-is@16/umd/react-is.<%= development ? "development" : "production.min" %>.js"
69-
></script>
7064
<%= footer %>
7165
</body>
7266
</html>

src/webpack/base.js

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,6 @@ module.exports = options => ({
4242
[pkg.name]: getPkgPath()
4343
}
4444
},
45-
externals: {
46-
react: 'React',
47-
'react-dom': 'ReactDOM',
48-
'react-is': 'ReactIs'
49-
},
5045
plugins: [
5146
new ProgressBarPlugin({
5247
clear: true

src/webpack/production.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ const webpack = require('webpack')
33
const path = require('path')
44
const pkg = require(path.resolve(process.cwd(), './package.json'))
55
const HtmlWebpackPlugin = require('html-webpack-plugin')
6+
const { GenerateSW } = require('workbox-webpack-plugin')
7+
68

79
module.exports = (options) => {
810
const { header, footer, title } = options || {}
@@ -15,7 +17,7 @@ module.exports = (options) => {
1517
chunks:['index'],
1618
templateParameters:{
1719
title: title ? title : `${pkg.name}@${pkg.version}`,
18-
development: true,
20+
development: false,
1921
header,
2022
footer
2123
}
@@ -28,11 +30,12 @@ module.exports = (options) => {
2830
chunks:['iframe'],
2931
templateParameters:{
3032
title: title ? title : `${pkg.name}@${pkg.version}`,
31-
development: true,
33+
development: false,
3234
header,
3335
footer
3436
}
35-
})
37+
}),
38+
new GenerateSW()
3639
)
3740
return {
3841
...config,

0 commit comments

Comments
 (0)