first commit
This commit is contained in:
@@ -0,0 +1,12 @@
|
|||||||
|
# http://editorconfig.org
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
insert_final_newline = true
|
||||||
|
|
||||||
|
[*.md]
|
||||||
|
trim_trailing_whitespace = false
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"extends": ["taro/react"],
|
||||||
|
"rules": {
|
||||||
|
"react/jsx-uses-react": "off",
|
||||||
|
"react/react-in-jsx-scope": "off"
|
||||||
|
}
|
||||||
|
}
|
||||||
+14
@@ -0,0 +1,14 @@
|
|||||||
|
dist/
|
||||||
|
weapp/
|
||||||
|
alipay/
|
||||||
|
kwai/
|
||||||
|
dd/
|
||||||
|
qq/
|
||||||
|
tt/
|
||||||
|
swan/
|
||||||
|
deploy_versions/
|
||||||
|
.swc/
|
||||||
|
.temp/
|
||||||
|
.rn_temp/
|
||||||
|
node_modules/
|
||||||
|
.DS_Store
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
registry "https://registry.npm.taobao.org"
|
||||||
|
disturl "https://npm.taobao.org/dist"
|
||||||
|
sass_binary_site "https://npm.taobao.org/mirrors/node-sass/"
|
||||||
|
sentrycli_cdnurl "https://npm.taobao.org/mirrors/sentry-cli/"
|
||||||
|
electron_mirror "https://npm.taobao.org/mirrors/electron/"
|
||||||
|
phantomjs_cdnurl "https://npm.taobao.org/mirrors/phantomjs/"
|
||||||
|
chromedriver_cdnurl "https://npm.taobao.org/mirrors/chromedriver/"
|
||||||
|
canvas_binary_host_mirror "https://npm.taobao.org/mirrors/node-canvas-prebuilt/"
|
||||||
|
operadriver_cdnurl "https://npm.taobao.org/mirrors/operadriver"
|
||||||
|
selenium_cdnurl "https://npm.taobao.org/mirrors/selenium"
|
||||||
|
node_inspector_cdnurl "https://npm.taobao.org/mirrors/node-inspector"
|
||||||
|
fsevents_binary_host_mirror "http://npm.taobao.org/mirrors/fsevents/"
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
/* eslint-disable import/no-commonjs */
|
||||||
|
// babel-preset-taro 更多选项和默认值:
|
||||||
|
// https://github.com/NervJS/taro/blob/next/packages/babel-preset-taro/README.md
|
||||||
|
module.exports = {
|
||||||
|
presets: [
|
||||||
|
[
|
||||||
|
'taro',
|
||||||
|
{
|
||||||
|
framework: 'react',
|
||||||
|
ts: true,
|
||||||
|
useBuiltIns: false,
|
||||||
|
hot: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
],
|
||||||
|
plugins: [
|
||||||
|
[
|
||||||
|
'import',
|
||||||
|
{
|
||||||
|
libraryName: '@antmjs/vantui',
|
||||||
|
libraryDirectory: 'es',
|
||||||
|
},
|
||||||
|
'@antmjs/vantui',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
// eslint-disable-next-line import/no-commonjs
|
||||||
|
module.exports = {
|
||||||
|
env: {
|
||||||
|
NODE_ENV: '"development"',
|
||||||
|
},
|
||||||
|
defineConstants: {},
|
||||||
|
mini: {},
|
||||||
|
h5: {},
|
||||||
|
}
|
||||||
+138
@@ -0,0 +1,138 @@
|
|||||||
|
/* eslint-disable import/no-commonjs */
|
||||||
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
||||||
|
const npath = require("path");
|
||||||
|
const pkg = require("../package.json");
|
||||||
|
const miniChain = require("./webpack/miniChain");
|
||||||
|
const h5Chain = require("./webpack/h5Chain");
|
||||||
|
|
||||||
|
process.env.TARO_ENV = process.env.TARO_ENV ?? "weapp"
|
||||||
|
process.env.NODE_ENV = process.env.NODE_ENV ?? 'production'
|
||||||
|
process.env.API_ENV = process.env.API_ENV ?? 'real'
|
||||||
|
|
||||||
|
const config = {
|
||||||
|
projectName: pkg.name,
|
||||||
|
date: "2022-8-10",
|
||||||
|
designWidth: 750,
|
||||||
|
deviceRatio: {
|
||||||
|
640: 2.34 / 2,
|
||||||
|
750: 1,
|
||||||
|
828: 1.81 / 2,
|
||||||
|
},
|
||||||
|
sourceRoot: "src",
|
||||||
|
outputRoot: process.env.TARO_ENV === "h5" ? "build" : process.env.TARO_ENV,
|
||||||
|
alias: {
|
||||||
|
"@": npath.resolve(process.cwd(), "src"),
|
||||||
|
},
|
||||||
|
defineConstants: {},
|
||||||
|
copy: {
|
||||||
|
patterns: [],
|
||||||
|
options: {},
|
||||||
|
},
|
||||||
|
framework: "react",
|
||||||
|
compiler: "webpack5",
|
||||||
|
cache: {
|
||||||
|
enable: false, // Webpack 持久化缓存配置,建议开启。默认配置请参考:https://docs.taro.zone/docs/config-detail#cache
|
||||||
|
},
|
||||||
|
mini: {
|
||||||
|
webpackChain(chain) {
|
||||||
|
miniChain(chain);
|
||||||
|
},
|
||||||
|
lessLoaderOption: {
|
||||||
|
lessOptions: {
|
||||||
|
modifyVars: {
|
||||||
|
hack: `true; @import "${npath.join(
|
||||||
|
process.cwd(),
|
||||||
|
"src/styles/index.less"
|
||||||
|
)}";`,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// 适用于全局引入样式
|
||||||
|
// additionalData: "@import '~/src/styles/index.less';",
|
||||||
|
},
|
||||||
|
postcss: {
|
||||||
|
pxtransform: {
|
||||||
|
enable: true,
|
||||||
|
config: {},
|
||||||
|
},
|
||||||
|
url: {
|
||||||
|
enable: true,
|
||||||
|
config: {
|
||||||
|
limit: 1024, // 设定转换尺寸上限
|
||||||
|
},
|
||||||
|
},
|
||||||
|
cssModules: {
|
||||||
|
enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
|
||||||
|
config: {
|
||||||
|
namingPattern: "module", // 转换模式,取值为 global/module
|
||||||
|
generateScopedName: "[name]__[local]___[hash:base64:5]",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
miniCssExtractPluginOption: {
|
||||||
|
ignoreOrder: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
h5: {
|
||||||
|
webpackChain(chain) {
|
||||||
|
h5Chain(chain);
|
||||||
|
if (process.env.NODE_ENV === "production") {
|
||||||
|
chain.performance.maxEntrypointSize(1000000).maxAssetSize(512000);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
esnextModules: [/@antmjs[\\/]vantui/],
|
||||||
|
lessLoaderOption: {
|
||||||
|
lessOptions: {
|
||||||
|
modifyVars: {
|
||||||
|
// 或者可以通过 less 文件覆盖(文件路径为绝对路径)
|
||||||
|
hack: `true; @import "${npath.join(
|
||||||
|
process.cwd(),
|
||||||
|
"src/styles/index.less"
|
||||||
|
)}";`,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
router: {
|
||||||
|
mode: "browser",
|
||||||
|
},
|
||||||
|
devServer: {
|
||||||
|
hot: false,
|
||||||
|
},
|
||||||
|
publicPath: "/",
|
||||||
|
staticDirectory: "static",
|
||||||
|
postcss: {
|
||||||
|
autoprefixer: {
|
||||||
|
enable: true,
|
||||||
|
config: {},
|
||||||
|
},
|
||||||
|
cssModules: {
|
||||||
|
enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
|
||||||
|
config: {
|
||||||
|
namingPattern: "module", // 转换模式,取值为 global/module
|
||||||
|
generateScopedName: "[name]__[local]___[hash:base64:5]",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
miniCssExtractPluginOption: {
|
||||||
|
ignoreOrder: true,
|
||||||
|
filename: "assets/css/[name].css",
|
||||||
|
chunkFilename: "assets/css/chunk/[name].css",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
rn: {
|
||||||
|
appName: "taroDemo",
|
||||||
|
postcss: {
|
||||||
|
cssModules: {
|
||||||
|
enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
plugins: [
|
||||||
|
["@tarojs/plugin-framework-react", { reactMode: "concurrent" }],
|
||||||
|
"@tarojs/plugin-platform-alipay-dd",
|
||||||
|
["@tarojs/plugin-platform-kwai"],
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = function (merge) {
|
||||||
|
return merge({}, config, require(`./${process.env.NODE_ENV}`));
|
||||||
|
};
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
// eslint-disable-next-line import/no-commonjs
|
||||||
|
module.exports = {
|
||||||
|
env: {
|
||||||
|
NODE_ENV: '"production"',
|
||||||
|
},
|
||||||
|
defineConstants: {},
|
||||||
|
mini: {},
|
||||||
|
h5: {
|
||||||
|
/**
|
||||||
|
* WebpackChain 插件配置
|
||||||
|
* @docs https://github.com/neutrinojs/webpack-chain
|
||||||
|
*/
|
||||||
|
// webpackChain (chain) {
|
||||||
|
// /**
|
||||||
|
// * 如果 h5 端编译后体积过大,可以使用 webpack-bundle-analyzer 插件对打包体积进行分析。
|
||||||
|
// * @docs https://github.com/webpack-contrib/webpack-bundle-analyzer
|
||||||
|
// */
|
||||||
|
// chain.plugin('analyzer')
|
||||||
|
// .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, [])
|
||||||
|
// /**
|
||||||
|
// * 如果 h5 端首屏加载时间过长,可以使用 prerender-spa-plugin 插件预加载首页。
|
||||||
|
// * @docs https://github.com/chrisvfritz/prerender-spa-plugin
|
||||||
|
// */
|
||||||
|
// const path = require('path')
|
||||||
|
// const Prerender = require('prerender-spa-plugin')
|
||||||
|
// const staticDir = path.join(__dirname, '..', 'dist')
|
||||||
|
// chain
|
||||||
|
// .plugin('prerender')
|
||||||
|
// .use(new Prerender({
|
||||||
|
// staticDir,
|
||||||
|
// routes: [ '/pages/index/index' ],
|
||||||
|
// postProcess: (context) => ({ ...context, outputPath: path.join(staticDir, 'index.html') })
|
||||||
|
// }))
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
module.exports = function (chain) {
|
||||||
|
// taro内部的配置:scriptRule.exclude = [filename => /css-loader/.test(filename) || (/node_modules/.test(filename) && !(/taro/.test(filename)))];
|
||||||
|
// 下面重写exclude的配置,部分三方包需要babel,包括taro、@antmjs等
|
||||||
|
// 根据exclude可以看出,千万不要在项目名称上面带上taro字样,否则所有引用到node_modules的包都会重新被编译一次
|
||||||
|
// 以下配置将不再使用usage配置,因为根据小程序官方描述,ios9开始基本都已支持了,浏览器可以使用polyfill.io 国内可以用阿里云版的,index.html有引用
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 如果babel.config.js设置useBuiltIns:usage
|
||||||
|
* /tarojs[\\/](runtime|shared|plugin-platform|components)/.test(filename) 应该被exculde
|
||||||
|
* /tarojs[\\/](runtime|shared|plugin-platform)/.test(filename) 应该单独babel 且设置useBuiltIns:false
|
||||||
|
*/
|
||||||
|
chain.module
|
||||||
|
.rule('script')
|
||||||
|
.exclude.clear()
|
||||||
|
.add(
|
||||||
|
(filename) =>
|
||||||
|
/css-loader/.test(filename) ||
|
||||||
|
(/node_modules/.test(filename) &&
|
||||||
|
!/(taro)|(inversify)|(@antmjs)|(react-spring)|(recoil)|(buffer)|(qrcode)/.test(
|
||||||
|
filename,
|
||||||
|
)),
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
/* eslint-disable import/no-commonjs */
|
||||||
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
||||||
|
const H5FixPlugin = require('@antmjs/plugin-h5-fix')
|
||||||
|
const commonChain = require('./commonChain')
|
||||||
|
|
||||||
|
module.exports = function (chain) {
|
||||||
|
chain.plugin('H5FixPlugin').use(new H5FixPlugin())
|
||||||
|
commonChain(chain)
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/* eslint-disable import/no-commonjs */
|
||||||
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
||||||
|
const MiniFixPlugin = require('@antmjs/plugin-mini-fix')
|
||||||
|
const GlobalFixPlugin = require('@antmjs/plugin-global-fix')
|
||||||
|
const commonChain = require('./commonChain')
|
||||||
|
|
||||||
|
module.exports = function (chain) {
|
||||||
|
// add @antmjs/plugin-mini-fix and @antmjs/mini-fix
|
||||||
|
// 解决微信小程序和抖音小程序的path上的params没有自动decode的问题,支付宝和钉钉是有decode过的
|
||||||
|
// 这个问题是因为微信抖音和支付宝钉钉原生小程序的返回结果就是不一致的,Taro目前是没有去处理的
|
||||||
|
chain.plugin('MiniFixPlugin').use(new MiniFixPlugin())
|
||||||
|
|
||||||
|
//解决支付宝小程序、钉钉小程序、百度小程序没有暴露全局变量global的问题
|
||||||
|
chain.plugin('GlobalFixPlugin').use(new GlobalFixPlugin())
|
||||||
|
commonChain(chain)
|
||||||
|
}
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
{
|
||||||
|
"name": "pure-project-vantui",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"private": true,
|
||||||
|
"description": "",
|
||||||
|
"templateInfo": {
|
||||||
|
"name": "default",
|
||||||
|
"typescript": true,
|
||||||
|
"css": "less"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"build:weapp": "taro build --type weapp",
|
||||||
|
"build:h5": "taro build --type h5",
|
||||||
|
"dev:weapp": "npm run build:weapp -- --watch",
|
||||||
|
"dev:h5": "npm run build:h5 -- --watch"
|
||||||
|
},
|
||||||
|
"browserslist": {
|
||||||
|
"production": [
|
||||||
|
"ios >= 9"
|
||||||
|
],
|
||||||
|
"development": [
|
||||||
|
"last 1 version"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"author": "",
|
||||||
|
"dependencies": {
|
||||||
|
"@antmjs/mini-fix": "^2.3.21",
|
||||||
|
"@antmjs/vantui": "^3.1.6",
|
||||||
|
"@babel/runtime": "^7.7.7",
|
||||||
|
"@tarojs/components": "3.6.14",
|
||||||
|
"@tarojs/helper": "3.6.14",
|
||||||
|
"@tarojs/plugin-framework-react": "3.6.14",
|
||||||
|
"@tarojs/plugin-platform-alipay": "3.6.14",
|
||||||
|
"@tarojs/plugin-platform-alipay-dd": "^0.1.3",
|
||||||
|
"@tarojs/plugin-platform-h5": "3.6.14",
|
||||||
|
"@tarojs/plugin-platform-jd": "3.6.14",
|
||||||
|
"@tarojs/plugin-platform-kwai": "^2.0.0",
|
||||||
|
"@tarojs/plugin-platform-qq": "3.6.14",
|
||||||
|
"@tarojs/plugin-platform-swan": "3.6.14",
|
||||||
|
"@tarojs/plugin-platform-tt": "3.6.14",
|
||||||
|
"@tarojs/plugin-platform-weapp": "3.6.14",
|
||||||
|
"@tarojs/react": "3.6.14",
|
||||||
|
"@tarojs/router": "3.6.14",
|
||||||
|
"@tarojs/runtime": "3.6.14",
|
||||||
|
"@tarojs/shared": "3.6.14",
|
||||||
|
"@tarojs/taro": "3.6.14",
|
||||||
|
"@tarojs/taro-h5": "3.6.14",
|
||||||
|
"react": "^18.2.0",
|
||||||
|
"react-dom": "^18.2.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@antmjs/plugin-global-fix": "^2.3.21",
|
||||||
|
"@antmjs/plugin-h5-fix": "^2.3.21",
|
||||||
|
"@antmjs/plugin-mini-fix": "^2.3.21",
|
||||||
|
"@babel/core": "^7.12.9",
|
||||||
|
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.5",
|
||||||
|
"@tarojs/cli": "3.6.14",
|
||||||
|
"@tarojs/webpack5-runner": "3.6.14",
|
||||||
|
"@types/react": "^18.0.26",
|
||||||
|
"@types/react-dom": "^18.0.10",
|
||||||
|
"@types/webpack-env": "^1.13.6",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^5.20.0",
|
||||||
|
"@typescript-eslint/parser": "^5.20.0",
|
||||||
|
"babel-plugin-import": "^1.13.5",
|
||||||
|
"babel-preset-taro": "3.6.14",
|
||||||
|
"eslint": "^8.12.0",
|
||||||
|
"eslint-config-taro": "3.6.14",
|
||||||
|
"eslint-plugin-import": "^2.12.0",
|
||||||
|
"eslint-plugin-react": "^7.8.2",
|
||||||
|
"eslint-plugin-react-hooks": "^4.2.0",
|
||||||
|
"react-refresh": "^0.11.0",
|
||||||
|
"stylelint": "^13.13.1",
|
||||||
|
"typescript": "^4.1.0",
|
||||||
|
"webpack": "5.69.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"component2": true,
|
||||||
|
"enableAppxNg": true,
|
||||||
|
"enableParallelLoader": false,
|
||||||
|
"enableHMR": false
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"miniprogramRoot": "./",
|
||||||
|
"projectname": "pure-project-vantui",
|
||||||
|
"description": "",
|
||||||
|
"appid": "wx7ed74d60503b5ee3",
|
||||||
|
"setting": {
|
||||||
|
"urlCheck": true,
|
||||||
|
"es6": false,
|
||||||
|
"postcss": false,
|
||||||
|
"minified": false,
|
||||||
|
"enhance": false
|
||||||
|
},
|
||||||
|
"compileType": "miniprogram"
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"compileType": "miniprogram",
|
||||||
|
"miniprogramRoot": "./src",
|
||||||
|
"component2": true,
|
||||||
|
"enableAppxNg": true
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"miniprogramRoot": "./",
|
||||||
|
"projectname": "pure-project-vantui",
|
||||||
|
"description": "",
|
||||||
|
"setting": {
|
||||||
|
"urlCheck": true,
|
||||||
|
"es6": false,
|
||||||
|
"postcss": false,
|
||||||
|
"minified": false,
|
||||||
|
"enhance": false
|
||||||
|
},
|
||||||
|
"compileType": "miniprogram"
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"miniprogramRoot": "./",
|
||||||
|
"projectname": "pure-project-vantui",
|
||||||
|
"description": "",
|
||||||
|
"setting": {
|
||||||
|
"urlCheck": true,
|
||||||
|
"es6": false,
|
||||||
|
"postcss": false,
|
||||||
|
"minified": false,
|
||||||
|
"enhance": false
|
||||||
|
},
|
||||||
|
"compileType": "miniprogram"
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"projectname": "pure-project-vantui",
|
||||||
|
"miniprogramRoot": "./",
|
||||||
|
"compilation-args": {
|
||||||
|
"common": {
|
||||||
|
"ignorePrefixCss": true,
|
||||||
|
"ignoreTransJs": true,
|
||||||
|
"ignoreUglify": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"setting": {
|
||||||
|
"urlCheck": true,
|
||||||
|
"es6": false,
|
||||||
|
"minified": false,
|
||||||
|
"postcss": false,
|
||||||
|
"enhance": false
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"miniprogramRoot": "./",
|
||||||
|
"projectname": "pure-project-vantui",
|
||||||
|
"setting": {
|
||||||
|
"urlCheck": true,
|
||||||
|
"es6": false,
|
||||||
|
"minified": false,
|
||||||
|
"postcss": false
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
export default defineAppConfig({
|
||||||
|
pages: [
|
||||||
|
'pages/index/index',
|
||||||
|
],
|
||||||
|
window: {
|
||||||
|
backgroundTextStyle: 'light',
|
||||||
|
navigationBarBackgroundColor: '#fff',
|
||||||
|
navigationBarTitleText: 'WeChat',
|
||||||
|
navigationBarTextStyle: 'black'
|
||||||
|
},
|
||||||
|
animation: false,
|
||||||
|
}
|
||||||
|
)
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
@import '@antmjs/vantui/lib/index.less';
|
||||||
|
|
||||||
|
page {
|
||||||
|
background: @pageBack;
|
||||||
|
font-size: 28px;
|
||||||
|
font-family: @base-font-family;
|
||||||
|
color: @black;
|
||||||
|
}
|
||||||
|
|
||||||
|
view,
|
||||||
|
div {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
body,
|
||||||
|
html {
|
||||||
|
// NOTE: taro h5 ios上拉遮挡底部fixed元素
|
||||||
|
overflow: hidden !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.van-cell-group--inset {
|
||||||
|
background: @white;
|
||||||
|
box-shadow: 0 14px 80px 0 rgba(138, 149, 158, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.van-cell__label {
|
||||||
|
line-height: 1.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 可以用的类
|
||||||
|
// .van-hairline,
|
||||||
|
// .van-hairline--top,
|
||||||
|
// .van-hairline--left,
|
||||||
|
// .van-hairline--right,
|
||||||
|
// .van-hairline--bottom,
|
||||||
|
// .van-hairline--top-bottom,
|
||||||
|
// .van-hairline--surround
|
||||||
|
// .van-ellipsis
|
||||||
|
// .van-multi-ellipsis--l2
|
||||||
|
// .van-multi-ellipsis--l3
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
import { Component } from 'react'
|
||||||
|
import './app.less'
|
||||||
|
|
||||||
|
class App extends Component {
|
||||||
|
|
||||||
|
componentDidMount () {}
|
||||||
|
|
||||||
|
componentDidShow () {}
|
||||||
|
|
||||||
|
componentDidHide () {}
|
||||||
|
|
||||||
|
componentDidCatchError () {}
|
||||||
|
|
||||||
|
// this.props.children 是将要会渲染的页面
|
||||||
|
render () {
|
||||||
|
return this.props.children
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default App
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
||||||
|
<meta content="width=device-width,initial-scale=1,user-scalable=no" name="viewport">
|
||||||
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
|
<meta name="apple-touch-fullscreen" content="yes">
|
||||||
|
<meta name="format-detection" content="telephone=no,address=no">
|
||||||
|
<meta name="apple-mobile-web-app-status-bar-style" content="white">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" >
|
||||||
|
<title>antmjs</title>
|
||||||
|
<script crossorigin="anonymous" src="https://polyfill.alicdn.com/polyfill.min.js?features=es2015%2Ces2016%2Ces2017%2Ces2018%2Ces2019%2Ces2020%2Ces2021%2Ces2022"></script>
|
||||||
|
<script><%= htmlWebpackPlugin.options.script %></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app"></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
export default definePageConfig({
|
||||||
|
navigationBarTitleText: '首页'
|
||||||
|
})
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
import { View } from '@tarojs/components'
|
||||||
|
import { Button } from '@antmjs/vantui'
|
||||||
|
import './index.less'
|
||||||
|
|
||||||
|
export default function Index() {
|
||||||
|
return (
|
||||||
|
<View className='index'>
|
||||||
|
<View><Button type='primary'>Hello world!</Button></View>
|
||||||
|
<View>上面的按钮的颜色已经通过全局主题重写覆盖了,参见src/styles/index.less</View>
|
||||||
|
</View>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// export default class Index extends Component {
|
||||||
|
|
||||||
|
// componentWillMount () { }
|
||||||
|
|
||||||
|
// componentDidMount () { }
|
||||||
|
|
||||||
|
// componentWillUnmount () { }
|
||||||
|
|
||||||
|
// componentDidShow () { }
|
||||||
|
|
||||||
|
// componentDidHide () { }
|
||||||
|
|
||||||
|
// render () {
|
||||||
|
// return (
|
||||||
|
// <View className='index'>
|
||||||
|
// <View><Button type='primary'>Hello world!</Button></View>
|
||||||
|
// <View>上面的按钮的颜色已经通过全局主题重写覆盖了,参见src/style/index.less</View>
|
||||||
|
// </View>
|
||||||
|
// )
|
||||||
|
// }
|
||||||
|
// }
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
@import '@antmjs/vantui/es/style/var.less';
|
||||||
|
|
||||||
|
// 这里可以重写主题
|
||||||
|
@black: #1a1a1a;
|
||||||
|
@white: #f7f7f7;
|
||||||
|
@gray-1: #f7f8fa;
|
||||||
|
@gray-2: #f2f3f5;
|
||||||
|
@gray-3: #ededed;
|
||||||
|
@gray-4: #dcdee0;
|
||||||
|
@gray-5: #c8c9cc;
|
||||||
|
@gray-6: #969799;
|
||||||
|
@gray-7: #646566;
|
||||||
|
@gray-8: #323233;
|
||||||
|
@red: #ee0a24;
|
||||||
|
@blue: #1989fa;
|
||||||
|
@orange: #ff976a;
|
||||||
|
@orange-dark: #ed6a0c;
|
||||||
|
@orange-light: #fffbe8;
|
||||||
|
@green: #0a4d2b;
|
||||||
|
|
||||||
|
@pageBack: @gray-3;
|
||||||
|
@navBack: rgba(237, 237, 237, 0.9);
|
||||||
|
@popup-background-color: @gray-3;
|
||||||
|
@backDropFilter: blur(20px);
|
||||||
|
|
||||||
|
@popup-close-icon-color: @gray-5;
|
||||||
|
@popup-close-icon-size: 40px;
|
||||||
|
@popup-close-icon-margin: 24px;
|
||||||
|
@button-plain-background-color: @gray-4;
|
||||||
|
|
||||||
|
// z-index
|
||||||
|
@sticky-z-index: 800;
|
||||||
|
@tabbar-z-index: 805;
|
||||||
|
@navbar-z-index: 805;
|
||||||
|
@goods-action-z-index: 806;
|
||||||
|
@submit-bar-z-index: 806;
|
||||||
|
@overlay-z-index: 1000;
|
||||||
|
@dropdown-z-index: 1000;
|
||||||
|
@popup-z-index: 1010;
|
||||||
|
@popup-close-icon-z-index: 1010;
|
||||||
|
@notify-z-index: 1500;
|
||||||
|
|
||||||
|
// Padding or Margin
|
||||||
|
@padding-base: 8px;
|
||||||
|
@padding-xs: @padding-base * 2;
|
||||||
|
@padding-sm: @padding-base * 3;
|
||||||
|
@padding-md: @padding-base * 4;
|
||||||
|
@padding-lg: @padding-base * 6;
|
||||||
|
@padding-xl: @padding-base * 8;
|
||||||
|
|
||||||
|
// Font
|
||||||
|
@font-size-xs: 20px;
|
||||||
|
@font-size-sm: 24px;
|
||||||
|
@font-size-md: 28px;
|
||||||
|
@font-size-lg: 32px;
|
||||||
|
@font-weight-bold: 500;
|
||||||
|
@line-height-xs: 28px;
|
||||||
|
@line-height-sm: 36px;
|
||||||
|
@line-height-md: 40px;
|
||||||
|
@line-height-lg: 44px;
|
||||||
|
@base-font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue',
|
||||||
|
Helvetica, Segoe UI, Arial, Roboto, 'PingFang SC', 'miui', 'Hiragino Sans GB',
|
||||||
|
'Microsoft Yahei', sans-serif;
|
||||||
|
@price-integer-font-family: Avenir-Heavy, PingFang SC, Helvetica Neue, Arial,
|
||||||
|
sans-serif;
|
||||||
|
|
||||||
|
// Border
|
||||||
|
@border-color: @gray-3;
|
||||||
|
@border-width-base: 2px;
|
||||||
|
@border-radius-sm: 4px;
|
||||||
|
@border-radius-md: 8px;
|
||||||
|
@border-radius-lg: 16px;
|
||||||
|
@border-radius-max: 999px;
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "es2017",
|
||||||
|
"module": "commonjs",
|
||||||
|
"removeComments": false,
|
||||||
|
"preserveConstEnums": true,
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"experimentalDecorators": true,
|
||||||
|
"noImplicitAny": false,
|
||||||
|
"allowSyntheticDefaultImports": true,
|
||||||
|
"outDir": "lib",
|
||||||
|
"noUnusedLocals": true,
|
||||||
|
"noUnusedParameters": true,
|
||||||
|
"strictNullChecks": true,
|
||||||
|
"sourceMap": true,
|
||||||
|
"baseUrl": ".",
|
||||||
|
"rootDir": ".",
|
||||||
|
"jsx": "react-jsx",
|
||||||
|
"allowJs": true,
|
||||||
|
"resolveJsonModule": true,
|
||||||
|
"typeRoots": [
|
||||||
|
"node_modules/@types"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"include": ["./src", "./types"],
|
||||||
|
"compileOnSave": false
|
||||||
|
}
|
||||||
Vendored
+19
@@ -0,0 +1,19 @@
|
|||||||
|
/// <reference types="@tarojs/taro" />
|
||||||
|
|
||||||
|
declare module '*.png';
|
||||||
|
declare module '*.gif';
|
||||||
|
declare module '*.jpg';
|
||||||
|
declare module '*.jpeg';
|
||||||
|
declare module '*.svg';
|
||||||
|
declare module '*.css';
|
||||||
|
declare module '*.less';
|
||||||
|
declare module '*.scss';
|
||||||
|
declare module '*.sass';
|
||||||
|
declare module '*.styl';
|
||||||
|
|
||||||
|
declare namespace NodeJS {
|
||||||
|
interface ProcessEnv {
|
||||||
|
TARO_ENV: 'weapp' | 'swan' | 'alipay' | 'h5' | 'rn' | 'tt' | 'quickapp' | 'qq' | 'jd'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user