Skip to content

Commit 95a1775

Browse files
author
shengyonggen
committed
Release 1.14.13
1 parent 5acf607 commit 95a1775

File tree

101 files changed

+3287
-95
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+3287
-95
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
## 1.14.13(2021-07-9)
2+
1. 新增
3+
- `$url_path` 设置为所有事件都有的预置属性
4+
2. 修复
5+
- 修复页面浏览事件自定义属性值 `$title` 被覆盖问题
6+
3. 优化
7+
- 可配置特定控件不采集全埋点点击事件逻辑优化
8+
19
## 1.14.12(2021-06-26)
210
1. 新增
311
- 支持在微信小程序中跟内嵌 `H5` 打通

demo/kbone/README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# vue-kbone
2+
3+
基于 [kbone Vue 项目模板](https://developers.weixin.qq.com/miniprogram/kbone/docs/guide/quickstart.html#%E4%BD%BF%E7%94%A8%E6%A8%A1%E6%9D%BF%E5%BF%AB%E9%80%9F%E5%BC%80%E5%8F%91) 展示如何在 kbone 项目里使用神策微信小程序 SDK。
4+
5+
参考官网[自定义 app.js](https://developers.weixin.qq.com/miniprogram/kbone/docs/guide/advanced.html#%E8%87%AA%E5%AE%9A%E4%B9%89-app-js-%E5%92%8C-app-wxss) 修改 webpack 配置文件,补上 app.js 构建入口
6+
7+
SDK 相关代码详见 `src/app.js``src/home/Index.vue`
8+
9+
10+
```
11+
npm run mp
12+
```
13+
* 小程序端:使用开发者工具打开 dist/mp 目录即可。
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/**
2+
* 配置参考:https://wechat-miniprogram.github.io/kbone/docs/config/
3+
*/
4+
5+
module.exports = {
6+
origin: 'https://test.miniprogram.com',
7+
entry: '/',
8+
router: {
9+
home: [
10+
'/(home|index)?',
11+
'/index.html',
12+
'/test/(home|index)',
13+
],
14+
other: [
15+
'/test/list/:id',
16+
'/test/detail/:id',
17+
],
18+
},
19+
redirect: {
20+
notFound: 'home',
21+
accessDenied: 'home',
22+
},
23+
generate: {
24+
// 修改小程序入口
25+
appEntry: 'miniprogram-app',
26+
autoBuildNpm: 'npm',
27+
},
28+
app: {
29+
backgroundTextStyle: 'dark',
30+
navigationBarTextStyle: 'white',
31+
navigationBarTitleText: 'kbone',
32+
},
33+
appExtraConfig: {
34+
sitemapLocation: 'sitemap.json',
35+
},
36+
global: {
37+
share: true,
38+
windowScroll: false,
39+
backgroundColor: '#F7F7F7',
40+
},
41+
pages: {},
42+
optimization: {
43+
domSubTreeLevel: 10,
44+
45+
elementMultiplexing: true,
46+
textMultiplexing: true,
47+
commentMultiplexing: true,
48+
domExtendMultiplexing: true,
49+
50+
styleValueReduce: 5000,
51+
attrValueReduce: 5000,
52+
},
53+
projectConfig: {
54+
projectname: 'kbone-template-vue',
55+
appid: '',
56+
},
57+
}
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
const path = require('path')
2+
const eslintFriendlyFormatter = require('eslint-friendly-formatter')
3+
4+
module.exports = {
5+
context: path.resolve(__dirname, '../'),
6+
entry: {
7+
app: path.resolve(__dirname, '../src/main.js'),
8+
},
9+
output: {
10+
path: path.resolve(__dirname, '../dist/web'),
11+
filename: '[name].js',
12+
publicPath: '/',
13+
},
14+
module: {
15+
rules: [
16+
// eslint
17+
{
18+
test: /\.(js|vue)$/,
19+
loader: 'eslint-loader',
20+
enforce: 'pre',
21+
include: [path.resolve(__dirname, '../src')],
22+
options: {
23+
formatter: eslintFriendlyFormatter,
24+
emitWarning: true,
25+
},
26+
},
27+
// vue
28+
{
29+
test: /\.vue$/,
30+
use: [{
31+
loader: 'thread-loader',
32+
}, {
33+
loader: 'vue-loader',
34+
options: {
35+
compilerOptions: {
36+
preserveWhitespace: false,
37+
},
38+
},
39+
}],
40+
},
41+
// ts
42+
{
43+
test: /\.tsx?$/,
44+
exclude: /node_modules/,
45+
use: [{
46+
loader: 'thread-loader',
47+
}, {
48+
loader: 'babel-loader',
49+
options: {
50+
cacheDirectory: true,
51+
},
52+
}, {
53+
loader: 'ts-loader',
54+
options: {
55+
appendTsSuffixTo: [/\.vue$/],
56+
happyPackMode: true,
57+
},
58+
}],
59+
},
60+
// js
61+
{
62+
test: /\.js$/,
63+
loader: 'babel-loader',
64+
include: [path.resolve(__dirname, '../src')],
65+
},
66+
// img res
67+
{
68+
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
69+
loader: 'url-loader',
70+
options: {
71+
limit: 10000,
72+
name: path.posix.join('static', 'img/[name].[hash:7].[ext]'),
73+
},
74+
},
75+
// media res
76+
{
77+
test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
78+
loader: 'url-loader',
79+
options: {
80+
limit: 10000,
81+
name: path.posix.join('static', 'media/[name].[hash:7].[ext]'),
82+
},
83+
},
84+
// font res
85+
{
86+
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
87+
loader: 'url-loader',
88+
options: {
89+
limit: 10000,
90+
name: path.posix.join('static', 'fonts/[name].[hash:7].[ext]'),
91+
},
92+
}
93+
],
94+
},
95+
resolve: {
96+
extensions: ['.js', '.vue', '.json'],
97+
alias: {
98+
'vue$': 'vue/dist/vue.esm.js',
99+
'@': path.resolve(__dirname, '../src'),
100+
},
101+
},
102+
node: {
103+
// 避免 webpack 注入不必要的 setImmediate polyfill 因为 Vue 已经将其包含在内
104+
setImmediate: false,
105+
},
106+
}
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
const webpack = require('webpack')
2+
const merge = require('webpack-merge')
3+
const baseWebpackConfig = require('./webpack.base.config')
4+
const HtmlWebpackPlugin = require('html-webpack-plugin')
5+
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
6+
const portfinder = require('portfinder')
7+
const autoprefixer = require('autoprefixer')
8+
const {VueLoaderPlugin} = require('vue-loader')
9+
10+
const devWebpackConfig = merge(baseWebpackConfig, {
11+
mode: 'development',
12+
devServer: {
13+
clientLogLevel: 'warning',
14+
historyApiFallback: {
15+
rewrites: [{from: /.*/, to: '/index.html'}],
16+
},
17+
hot: true,
18+
contentBase: false,
19+
compress: true,
20+
host: process.env.HOST || 'localhost',
21+
port: +process.env.PORT || 8080,
22+
open: true, // 自动打开浏览器
23+
overlay: {warnings: false, errors: true}, // 展示全屏报错
24+
publicPath: '/',
25+
proxy: {},
26+
quiet: true, // for FriendlyErrorsPlugin
27+
watchOptions: {
28+
poll: false,
29+
}
30+
},
31+
module: {
32+
rules: [{
33+
test: /\.(less|css)$/,
34+
use: [{
35+
loader: 'vue-style-loader',
36+
}, {
37+
loader: 'css-loader',
38+
}, {
39+
loader: 'postcss-loader',
40+
options: {
41+
plugins: [
42+
autoprefixer,
43+
],
44+
}
45+
}, {
46+
loader: 'less-loader',
47+
}],
48+
}],
49+
},
50+
devtool: 'cheap-module-eval-source-map',
51+
plugins: [
52+
new webpack.DefinePlugin({
53+
'process.env': {
54+
NODE_ENV: '"development"',
55+
},
56+
}),
57+
new VueLoaderPlugin(),
58+
new webpack.HotModuleReplacementPlugin(),
59+
new webpack.NamedModulesPlugin(), // 开启 HMR 的时候使用该插件会显示模块的相对路径
60+
new webpack.NoEmitOnErrorsPlugin(),
61+
new HtmlWebpackPlugin({
62+
filename: 'index.html',
63+
template: 'index.html',
64+
inject: true,
65+
}),
66+
],
67+
})
68+
69+
module.exports = new Promise((resolve, reject) => {
70+
portfinder.basePort = +process.env.PORT || 8080
71+
portfinder.getPort((err, port) => {
72+
if (err) {
73+
reject(err)
74+
} else {
75+
devWebpackConfig.devServer.port = port
76+
devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
77+
compilationSuccessInfo: {
78+
messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
79+
},
80+
onErrors: undefined,
81+
}))
82+
83+
resolve(devWebpackConfig)
84+
}
85+
})
86+
})

0 commit comments

Comments
 (0)