dpzvc-ui 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +102 -18
- package/build-style.js +56 -29
- package/dist/dpzvc.js +9132 -13154
- package/dist/dpzvc.js.map +1 -0
- package/dist/dpzvc.min.js +2 -0
- package/dist/dpzvc.min.js.map +1 -0
- package/dist/styles/base/font.css +1 -0
- package/dist/styles/base/reset.css +1 -0
- package/dist/styles/base/variable.css +0 -0
- package/dist/styles/components/actionSheet.css +1 -0
- package/dist/styles/components/badge.css +1 -0
- package/dist/styles/components/button.css +1 -0
- package/dist/styles/components/card.css +1 -0
- package/dist/styles/components/cell-swipe.css +1 -0
- package/dist/styles/components/cell.css +1 -0
- package/dist/styles/components/checkBox.css +1 -0
- package/dist/styles/components/editor.css +1 -0
- package/dist/styles/components/header.css +1 -0
- package/dist/styles/components/indicator.css +1 -0
- package/dist/styles/components/loadmore.css +1 -0
- package/dist/styles/components/message.css +1 -0
- package/dist/styles/components/modal.css +1 -0
- package/dist/styles/components/number.css +1 -0
- package/dist/styles/components/picker.css +1 -0
- package/dist/styles/components/popup.css +1 -0
- package/dist/styles/components/progress.css +1 -0
- package/dist/styles/components/prompt.css +1 -0
- package/dist/styles/components/radioBox.css +1 -0
- package/dist/styles/components/slide-Bar.css +1 -0
- package/dist/styles/components/spinner.css +1 -0
- package/dist/styles/components/swipe.css +1 -0
- package/dist/styles/components/switchBar.css +1 -0
- package/dist/styles/components/tab.css +1 -0
- package/dist/styles/components/text.css +1 -0
- package/dist/styles/components/toTop.css +1 -0
- package/dist/styles/components/upload.css +1 -0
- package/dist/styles/utils/1px.css +1 -0
- package/dist/styles/utils/animation.css +1 -0
- package/dist/styles/utils/nowrap.css +1 -0
- package/dist-prod/968.b06f8ff038ced2ac25a8.js +3 -0
- package/dist-prod/968.b06f8ff038ced2ac25a8.js.LICENSE.txt +5 -0
- package/dist-prod/968.b06f8ff038ced2ac25a8.js.map +1 -0
- package/dist-prod/actionsheet.6c90edde5704622a1342.chunk.js +2 -0
- package/dist-prod/actionsheet.6c90edde5704622a1342.chunk.js.map +1 -0
- package/dist-prod/badge.c84c021f3e486ef7d942.chunk.js +2 -0
- package/dist-prod/badge.c84c021f3e486ef7d942.chunk.js.map +1 -0
- package/dist-prod/button.367cc8c72a5fe6ab23f9.chunk.js +2 -0
- package/dist-prod/button.367cc8c72a5fe6ab23f9.chunk.js.map +1 -0
- package/dist-prod/card.9408612c4388b6dfa16c.chunk.js +2 -0
- package/dist-prod/card.9408612c4388b6dfa16c.chunk.js.map +1 -0
- package/dist-prod/cell.9a4993caa97ef40ff5c1.chunk.js +2 -0
- package/dist-prod/cell.9a4993caa97ef40ff5c1.chunk.js.map +1 -0
- package/dist-prod/cellswipe.2f66e4563a8b0ea4e66a.chunk.js +2 -0
- package/dist-prod/cellswipe.2f66e4563a8b0ea4e66a.chunk.js.map +1 -0
- package/dist-prod/checkbox.bfb070917fbd916b9246.chunk.js +2 -0
- package/dist-prod/checkbox.bfb070917fbd916b9246.chunk.js.map +1 -0
- package/dist-prod/guide.92857dbbd3214f172073.chunk.js +2 -0
- package/dist-prod/guide.92857dbbd3214f172073.chunk.js.map +1 -0
- package/dist-prod/header.ad70269632b1900dc1f0.chunk.js +2 -0
- package/dist-prod/header.ad70269632b1900dc1f0.chunk.js.map +1 -0
- package/dist-prod/index.html +19 -26
- package/dist-prod/indicator.791ff82f539499ebcc6b.chunk.js +2 -0
- package/dist-prod/indicator.791ff82f539499ebcc6b.chunk.js.map +1 -0
- package/dist-prod/loadmore.766550bbcff49be9ca23.chunk.js +2 -0
- package/dist-prod/loadmore.766550bbcff49be9ca23.chunk.js.map +1 -0
- package/dist-prod/main.87546d094b4cc2de2d01.js +2 -0
- package/dist-prod/main.87546d094b4cc2de2d01.js.map +1 -0
- package/dist-prod/main.c3a7cb52315b8816357b.js +2 -0
- package/dist-prod/main.c3a7cb52315b8816357b.js.map +1 -0
- package/dist-prod/message.878a621e560c57ca9f90.chunk.js +2 -0
- package/dist-prod/message.878a621e560c57ca9f90.chunk.js.map +1 -0
- package/dist-prod/modal.e4087ee82601de76b61d.chunk.js +2 -0
- package/dist-prod/modal.e4087ee82601de76b61d.chunk.js.map +1 -0
- package/dist-prod/picker.3cfdf594676698f7ef0b.chunk.js +2 -0
- package/dist-prod/picker.3cfdf594676698f7ef0b.chunk.js.map +1 -0
- package/dist-prod/popup.f46d0b3c57b2f2d0dfe3.chunk.js +2 -0
- package/dist-prod/popup.f46d0b3c57b2f2d0dfe3.chunk.js.map +1 -0
- package/dist-prod/progress.dd5c95445a81a94ae446.chunk.js +2 -0
- package/dist-prod/progress.dd5c95445a81a94ae446.chunk.js.map +1 -0
- package/dist-prod/prompt.793312afaee597d3e887.chunk.js +2 -0
- package/dist-prod/prompt.793312afaee597d3e887.chunk.js.map +1 -0
- package/dist-prod/radiobox.f684060ebfc8df084d9c.chunk.js +2 -0
- package/dist-prod/radiobox.f684060ebfc8df084d9c.chunk.js.map +1 -0
- package/dist-prod/rater.18672a3b68842b5ec0ae.chunk.js +2 -0
- package/dist-prod/rater.18672a3b68842b5ec0ae.chunk.js.map +1 -0
- package/dist-prod/slidebar.58eb1b07a6995df3fc47.chunk.js +2 -0
- package/dist-prod/slidebar.58eb1b07a6995df3fc47.chunk.js.map +1 -0
- package/dist-prod/spinner.2c686ac402a1e1b29270.chunk.js +2 -0
- package/dist-prod/spinner.2c686ac402a1e1b29270.chunk.js.map +1 -0
- package/dist-prod/swipe.dcc1ebcc206dae26a67e.chunk.js +2 -0
- package/dist-prod/swipe.dcc1ebcc206dae26a67e.chunk.js.map +1 -0
- package/dist-prod/switchbar.91b45e05df73e20227ce.chunk.js +2 -0
- package/dist-prod/switchbar.91b45e05df73e20227ce.chunk.js.map +1 -0
- package/dist-prod/tab.b351fd11783b6de80246.chunk.js +2 -0
- package/dist-prod/tab.b351fd11783b6de80246.chunk.js.map +1 -0
- package/dist-prod/text.c41d6ba9644f7037d1e3.chunk.js +2 -0
- package/dist-prod/text.c41d6ba9644f7037d1e3.chunk.js.map +1 -0
- package/dist-prod/totop.cb15a38b541189094b32.chunk.js +2 -0
- package/dist-prod/totop.cb15a38b541189094b32.chunk.js.map +1 -0
- package/dist-prod/upload.e953d4a54b0a230de7d6.chunk.js +2 -0
- package/dist-prod/upload.e953d4a54b0a230de7d6.chunk.js.map +1 -0
- package/dist-prod/vendors.5b7cff021a01dbbbcdf2.js +3 -0
- package/dist-prod/vendors.5b7cff021a01dbbbcdf2.js.LICENSE.txt +5 -0
- package/dist-prod/vendors.5b7cff021a01dbbbcdf2.js.map +1 -0
- package/package.json +33 -27
- package/postcss.config.js +5 -0
- package/src/components/app.vue +1 -1
- package/src/components/upload/upload.vue +2 -1
- package/src/config/config.js +1 -1
- package/src/index.js +115 -49
- package/src/lib/MegaPixImage.js +59 -154
- package/src/main.js +18 -60
- package/src/router.js +30 -223
- package/src/styles/base/reset.less +77 -11
- package/src/styles/components/badge.less +2 -0
- package/src/styles/components/button.less +1 -0
- package/src/styles/components/checkBox.less +2 -0
- package/src/styles/components/header.less +2 -0
- package/src/styles/components/indicator.less +2 -0
- package/src/styles/components/modal.less +2 -0
- package/src/styles/components/number.less +2 -0
- package/src/styles/components/picker.less +2 -0
- package/src/styles/components/progress.less +2 -0
- package/src/styles/components/radioBox.less +2 -0
- package/src/styles/components/slide-Bar.less +2 -0
- package/src/styles/components/spinner.less +1 -0
- package/src/styles/components/tab.less +2 -0
- package/src/styles/components/text.less +2 -0
- package/src/styles/components/toTop.less +2 -0
- package/src/styles/utils/1px.less +2 -0
- package/src/styles/utils/nowrap.less +1 -1
- package/src/template/index.ejs +34 -20
- package/src/utils/util.js +1 -1
- package/src/views/Header.vue +6 -6
- package/src/views/Progress.vue +2 -2
- package/webpack.base.config.js +77 -70
- package/webpack.dev.config.js +39 -66
- package/webpack.dist.dev.config.js +45 -40
- package/webpack.dist.prod.config.js +54 -46
- package/webpack.prod.config.js +41 -70
package/src/template/index.ejs
CHANGED
|
@@ -1,26 +1,40 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
2
|
<html lang="zh-CN">
|
|
3
3
|
<head>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<title>丁平中vc移动端组件</title>
|
|
6
|
+
<meta name="viewport"
|
|
7
|
+
content="width=device-width,
|
|
8
|
+
initial-scale=1.0,
|
|
9
|
+
maximum-scale=1.0,
|
|
10
|
+
minimum-scale=1.0">
|
|
11
|
+
<style>
|
|
12
|
+
html, body {
|
|
13
|
+
width: 100%;
|
|
14
|
+
height: 100%;
|
|
15
|
+
margin: 0;
|
|
16
|
+
}
|
|
17
|
+
</style>
|
|
7
18
|
</head>
|
|
8
19
|
<body>
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
<div id="app"></div>
|
|
21
|
+
|
|
22
|
+
<script>
|
|
23
|
+
(function (doc, win) {
|
|
24
|
+
var docEl = doc.documentElement;
|
|
25
|
+
|
|
26
|
+
function recalc() {
|
|
27
|
+
var clientWidth = docEl.clientWidth;
|
|
28
|
+
if (!clientWidth) return;
|
|
29
|
+
|
|
30
|
+
if (clientWidth > 750) clientWidth = 750;
|
|
31
|
+
|
|
32
|
+
docEl.style.fontSize = 100 * (clientWidth / 375) + 'px';
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
win.addEventListener('resize', recalc);
|
|
36
|
+
doc.addEventListener('DOMContentLoaded', recalc);
|
|
37
|
+
})(document, window);
|
|
38
|
+
</script>
|
|
25
39
|
</body>
|
|
26
|
-
</html>
|
|
40
|
+
</html>
|
package/src/utils/util.js
CHANGED
package/src/views/Header.vue
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="Header">
|
|
3
3
|
<div class="item">
|
|
4
|
-
<
|
|
4
|
+
<DpHeader title="Header" :fixed="fixed"></DpHeader>
|
|
5
5
|
</div>
|
|
6
6
|
<div class="item">
|
|
7
|
-
<
|
|
7
|
+
<DpHeader title="Header" :fixed="fixed">
|
|
8
8
|
<span slot="right" @click="share">分享</span>
|
|
9
|
-
</
|
|
9
|
+
</DpHeader>
|
|
10
10
|
</div>
|
|
11
11
|
<div class="item">
|
|
12
|
-
<
|
|
12
|
+
<DpHeader title="Header" :fixed="fixed">
|
|
13
13
|
<span slot="left">返回</span>
|
|
14
14
|
<span slot="right" @click="share">分享</span>
|
|
15
|
-
</
|
|
15
|
+
</DpHeader>
|
|
16
16
|
</div>
|
|
17
17
|
</div>
|
|
18
18
|
</template>
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
<script>
|
|
21
21
|
|
|
22
22
|
export default {
|
|
23
|
-
name: "header",
|
|
23
|
+
name: "dp-header",
|
|
24
24
|
|
|
25
25
|
data(){
|
|
26
26
|
return {
|
package/src/views/Progress.vue
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="Progress">
|
|
3
|
-
<
|
|
3
|
+
<DpProgress v-model="progress" :barHeight="barHeight"></DpProgress>
|
|
4
4
|
</div>
|
|
5
5
|
</template>
|
|
6
6
|
|
|
7
7
|
<script>
|
|
8
8
|
export default {
|
|
9
|
-
name: "progress",
|
|
9
|
+
name: "dp-progress",
|
|
10
10
|
data(){
|
|
11
11
|
return {
|
|
12
12
|
progress:0,
|
package/webpack.base.config.js
CHANGED
|
@@ -1,74 +1,81 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*/
|
|
4
|
-
var path = require('path');
|
|
5
|
-
function resolve (dir) {
|
|
6
|
-
return path.join(__dirname, '.', dir)
|
|
7
|
-
}
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const { VueLoaderPlugin } = require('vue-loader');
|
|
8
3
|
|
|
9
4
|
module.exports = {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
]
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
test: /\.scss$/,
|
|
54
|
-
use: [
|
|
55
|
-
'style-loader',
|
|
56
|
-
'css-loader',
|
|
57
|
-
'sass-loader?sourceMap'
|
|
58
|
-
]
|
|
59
|
-
},
|
|
60
|
-
{ test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/, loader: 'url-loader?limit=8192'},
|
|
61
|
-
{ test: /\.(html|tpl)$/, loader: 'html-loader' }
|
|
5
|
+
entry: {
|
|
6
|
+
main: path.resolve(__dirname, 'src/main.js')
|
|
7
|
+
},
|
|
8
|
+
output: {
|
|
9
|
+
path: path.resolve(__dirname, 'dist'),
|
|
10
|
+
filename: '[name].[contenthash:8].js', // webpack5 推荐使用 contenthash
|
|
11
|
+
publicPath: '/'
|
|
12
|
+
},
|
|
13
|
+
resolve: {
|
|
14
|
+
extensions: ['.js', '.vue', '.json'],
|
|
15
|
+
alias: {
|
|
16
|
+
'vue$': 'vue/dist/vue.esm.js',
|
|
17
|
+
'@': path.resolve(__dirname, 'src')
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
module: {
|
|
21
|
+
rules: [
|
|
22
|
+
// Vue 文件
|
|
23
|
+
{
|
|
24
|
+
test: /\.vue$/,
|
|
25
|
+
loader: 'vue-loader'
|
|
26
|
+
},
|
|
27
|
+
// JS 文件
|
|
28
|
+
{
|
|
29
|
+
test: /\.js$/,
|
|
30
|
+
exclude: /node_modules/,
|
|
31
|
+
use: 'babel-loader'
|
|
32
|
+
},
|
|
33
|
+
// CSS 文件
|
|
34
|
+
{
|
|
35
|
+
test: /\.css$/,
|
|
36
|
+
use: [
|
|
37
|
+
'vue-style-loader',
|
|
38
|
+
{
|
|
39
|
+
loader: 'css-loader',
|
|
40
|
+
options: {
|
|
41
|
+
importLoaders: 1
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
'postcss-loader'
|
|
62
45
|
]
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
46
|
+
},
|
|
47
|
+
// LESS 文件
|
|
48
|
+
{
|
|
49
|
+
test: /\.less$/,
|
|
50
|
+
use: [
|
|
51
|
+
'vue-style-loader',
|
|
52
|
+
{
|
|
53
|
+
loader: 'css-loader',
|
|
54
|
+
options: {
|
|
55
|
+
importLoaders: 2
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
'postcss-loader',
|
|
59
|
+
'less-loader'
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
// 图片、字体等资源
|
|
63
|
+
{
|
|
64
|
+
test: /\.(png|jpe?g|gif|svg|eot|ttf|woff2?)$/,
|
|
65
|
+
type: 'asset', // webpack5 新资源模块
|
|
66
|
+
parser: {
|
|
67
|
+
dataUrlCondition: {
|
|
68
|
+
maxSize: 10 * 1024 // 10kb
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
generator: {
|
|
72
|
+
filename: 'assets/[name].[hash:7][ext]'
|
|
72
73
|
}
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
plugins: [
|
|
78
|
+
new VueLoaderPlugin()
|
|
79
|
+
],
|
|
80
|
+
devtool: 'source-map'
|
|
81
|
+
};
|
package/webpack.dev.config.js
CHANGED
|
@@ -1,67 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var webpack = require('webpack');
|
|
8
|
-
// var ExtractTextPlugin = require('extract-text-webpack-plugin');
|
|
9
|
-
var HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
10
|
-
var merge = require('webpack-merge');
|
|
11
|
-
var webpackBaseConfig = require('./webpack.base.config.js');
|
|
12
|
-
var ExtractTextPlugin = require('extract-text-webpack-plugin');
|
|
13
|
-
var FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin');
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
process.env.NODE_ENV = '"development"'
|
|
17
|
-
module.exports = merge(webpackBaseConfig, {
|
|
18
|
-
// 入口
|
|
19
|
-
entry: {
|
|
20
|
-
main: './src/main',
|
|
21
|
-
vendors: ['vue', 'vue-router']
|
|
22
|
-
},
|
|
23
|
-
// 输出
|
|
24
|
-
output: {
|
|
25
|
-
path:path.join(__dirname, './example'),
|
|
26
|
-
publicPath: '',
|
|
27
|
-
filename: '[name].js',
|
|
28
|
-
chunkFilename: '[name].chunk.js'
|
|
29
|
-
},
|
|
30
|
-
resolve: {
|
|
31
|
-
alias: {
|
|
32
|
-
dpzvc: './src/index',
|
|
33
|
-
vue: 'vue/dist/vue.js'
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
plugins: [
|
|
37
|
-
|
|
38
|
-
new webpack.DefinePlugin({
|
|
39
|
-
'process.env.NODE_ENV': process.env.NODE_ENV,
|
|
40
|
-
}),
|
|
41
|
-
new ExtractTextPlugin({ filename: '[name].css', disable: true, allChunks: true }),
|
|
42
|
-
new webpack.optimize.CommonsChunkPlugin({ name: 'vendors', filename: 'vendor.bundle.js' }),
|
|
43
|
-
new webpack.LoaderOptionsPlugin({
|
|
44
|
-
// test: /\.xxx$/, // may apply this only for some modules
|
|
45
|
-
options: {
|
|
46
|
-
babel:{
|
|
47
|
-
presets: ['es2015','stage-0'],
|
|
48
|
-
plugins: ['transform-runtime']
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}),
|
|
52
|
-
new HtmlWebpackPlugin({
|
|
53
|
-
inject: true,
|
|
54
|
-
filename: '../example/index.html',
|
|
55
|
-
template: './src/template/index.ejs'
|
|
56
|
-
}),
|
|
57
|
-
new FriendlyErrorsPlugin()
|
|
58
|
-
],
|
|
59
|
-
devServer:{
|
|
60
|
-
contentBase:"./",
|
|
61
|
-
// host:"192.168.1.101",
|
|
62
|
-
// host:"192.168.0.131",
|
|
63
|
-
host:"localhost",
|
|
64
|
-
port:"3000"
|
|
65
|
-
}
|
|
66
|
-
});
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const { merge } = require('webpack-merge');
|
|
3
|
+
const webpack = require('webpack');
|
|
4
|
+
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
5
|
+
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|
6
|
+
const baseConfig = require('./webpack.base.config.js');
|
|
67
7
|
|
|
8
|
+
module.exports = merge(baseConfig, {
|
|
9
|
+
mode: 'development',
|
|
10
|
+
entry: {
|
|
11
|
+
main: path.resolve(__dirname, 'src/main.js'),
|
|
12
|
+
vendors: ['vue', 'vue-router']
|
|
13
|
+
},
|
|
14
|
+
output: {
|
|
15
|
+
path: path.resolve(__dirname, 'dist-dev'),
|
|
16
|
+
filename: '[name].js',
|
|
17
|
+
chunkFilename: '[name].chunk.js',
|
|
18
|
+
publicPath: '/',
|
|
19
|
+
},
|
|
20
|
+
devtool: 'eval-source-map',
|
|
21
|
+
devServer: {
|
|
22
|
+
static: { directory: path.resolve(__dirname, 'dist-dev') },
|
|
23
|
+
compress: true,
|
|
24
|
+
hot: true,
|
|
25
|
+
historyApiFallback: true,
|
|
26
|
+
port: 3000
|
|
27
|
+
},
|
|
28
|
+
plugins: [
|
|
29
|
+
new webpack.HotModuleReplacementPlugin(),
|
|
30
|
+
new HtmlWebpackPlugin({
|
|
31
|
+
template: path.resolve(__dirname,'src/template/index.ejs'),
|
|
32
|
+
inject: true,
|
|
33
|
+
filename: 'index.html'
|
|
34
|
+
}),
|
|
35
|
+
new MiniCssExtractPlugin({
|
|
36
|
+
filename: '[name].css',
|
|
37
|
+
chunkFilename: '[name].chunk.css'
|
|
38
|
+
})
|
|
39
|
+
]
|
|
40
|
+
});
|
|
@@ -1,44 +1,49 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* webpack.dist.dev.config.js
|
|
3
|
+
* 开发环境打包库文件 (Webpack 5)
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
const path = require('path');
|
|
7
|
+
const webpack = require('webpack');
|
|
8
|
+
const { merge } = require('webpack-merge');
|
|
9
|
+
const webpackBaseConfig = require('./webpack.base.config.js');
|
|
5
10
|
|
|
6
11
|
process.env.NODE_ENV = 'production';
|
|
7
12
|
|
|
8
13
|
module.exports = merge(webpackBaseConfig, {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
});
|
|
14
|
+
mode: 'production',
|
|
15
|
+
|
|
16
|
+
entry: {
|
|
17
|
+
main: path.resolve(__dirname, './src/index.js')
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
output: {
|
|
21
|
+
path: path.resolve(__dirname, './dist'),
|
|
22
|
+
publicPath: '/dist/',
|
|
23
|
+
filename: 'dpzvc.js',
|
|
24
|
+
library: 'dpzvc',
|
|
25
|
+
libraryTarget: 'umd',
|
|
26
|
+
umdNamedDefine: true,
|
|
27
|
+
clean: false, // webpack5 新增,每次构建清理旧文件
|
|
28
|
+
},
|
|
29
|
+
|
|
30
|
+
externals: {
|
|
31
|
+
vue: {
|
|
32
|
+
root: 'Vue',
|
|
33
|
+
commonjs: 'vue',
|
|
34
|
+
commonjs2: 'vue',
|
|
35
|
+
amd: 'vue'
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
plugins: [
|
|
40
|
+
new webpack.DefinePlugin({
|
|
41
|
+
'process.env.NODE_ENV': JSON.stringify('production')
|
|
42
|
+
})
|
|
43
|
+
],
|
|
44
|
+
|
|
45
|
+
// Webpack 5 建议禁用多余 optimization,因为是库打包
|
|
46
|
+
optimization: {
|
|
47
|
+
minimize: false, // 开发库打包通常不压缩
|
|
48
|
+
},
|
|
49
|
+
});
|
|
@@ -1,50 +1,58 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* webpack.dist.prod.config.js
|
|
3
|
+
* 生产环境打包库文件 (Webpack 5)
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
const path = require('path');
|
|
7
|
+
const webpack = require('webpack');
|
|
8
|
+
const TerserPlugin = require('terser-webpack-plugin');
|
|
9
|
+
const { merge } = require('webpack-merge');
|
|
10
|
+
const webpackBaseConfig = require('./webpack.base.config.js');
|
|
5
11
|
|
|
6
12
|
process.env.NODE_ENV = 'production';
|
|
7
13
|
|
|
8
14
|
module.exports = merge(webpackBaseConfig, {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
})
|
|
15
|
+
mode: 'production',
|
|
16
|
+
|
|
17
|
+
entry: {
|
|
18
|
+
main: path.resolve(__dirname, './src/index.js')
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
output: {
|
|
22
|
+
path: path.resolve(__dirname, './dist'),
|
|
23
|
+
publicPath: '/dist/',
|
|
24
|
+
filename: 'dpzvc.min.js',
|
|
25
|
+
library: 'dpzvc',
|
|
26
|
+
libraryTarget: 'umd',
|
|
27
|
+
umdNamedDefine: true,
|
|
28
|
+
clean: false // webpack5 新增,每次构建清理旧文件
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
externals: {
|
|
32
|
+
vue: {
|
|
33
|
+
root: 'Vue',
|
|
34
|
+
commonjs: 'vue',
|
|
35
|
+
commonjs2: 'vue',
|
|
36
|
+
amd: 'vue'
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
optimization: {
|
|
41
|
+
minimize: true,
|
|
42
|
+
minimizer: [
|
|
43
|
+
new TerserPlugin({
|
|
44
|
+
terserOptions: {
|
|
45
|
+
compress: { drop_console: true, drop_debugger: true },
|
|
46
|
+
output: { comments: false },
|
|
47
|
+
},
|
|
48
|
+
extractComments: false, // 防止生成 LICENSE.txt
|
|
49
|
+
})
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
|
|
53
|
+
plugins: [
|
|
54
|
+
new webpack.DefinePlugin({
|
|
55
|
+
'process.env.NODE_ENV': JSON.stringify('production')
|
|
56
|
+
})
|
|
57
|
+
]
|
|
58
|
+
});
|