Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions examples/input-readonly-taro4/.editorconfig
Original file line number Diff line number Diff line change
@@ -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
2 changes: 2 additions & 0 deletions examples/input-readonly-taro4/.env.development
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# 配置文档参考 https://taro-docs.jd.com/docs/next/env-mode-config
# TARO_APP_ID="开发环境下的小程序 AppID"
1 change: 1 addition & 0 deletions examples/input-readonly-taro4/.env.production
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# TARO_APP_ID="生产环境下的小程序 AppID"
1 change: 1 addition & 0 deletions examples/input-readonly-taro4/.env.test
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# TARO_APP_ID="测试环境下的小程序 AppID"
5 changes: 5 additions & 0 deletions examples/input-readonly-taro4/.eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// ESLint 检查 .vue 文件需要单独配置编辑器:
// https://eslint.vuejs.org/user-guide/#editor-integrations
{
"extends": ["taro/vue3"]
}
8 changes: 8 additions & 0 deletions examples/input-readonly-taro4/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
dist/
deploy_versions/
.temp/
.rn_temp/
node_modules/
.DS_Store
.swc
*.local
4 changes: 4 additions & 0 deletions examples/input-readonly-taro4/.husky/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/usr/bin/env sh

# 运行 commitlint 检查 commit message
npx --no -- commitlint --edit ${1}
11 changes: 11 additions & 0 deletions examples/input-readonly-taro4/babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// babel-preset-taro 更多选项和默认值:
// https://docs.taro.zone/docs/next/babel-config
module.exports = {
presets: [
['taro', {
framework: 'vue3',
ts: true,
compiler: 'webpack5',
}]
]
}
1 change: 1 addition & 0 deletions examples/input-readonly-taro4/commitlint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export default { extends: ["@commitlint/config-conventional"] };
10 changes: 10 additions & 0 deletions examples/input-readonly-taro4/config/dev.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import type { UserConfigExport } from "@tarojs/cli"

export default {
logger: {
quiet: false,
stats: true
},
mini: {},
h5: {}
} satisfies UserConfigExport<'webpack5'>
102 changes: 102 additions & 0 deletions examples/input-readonly-taro4/config/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
import { defineConfig, type UserConfigExport } from '@tarojs/cli'
import TsconfigPathsPlugin from 'tsconfig-paths-webpack-plugin'
import devConfig from './dev'
import prodConfig from './prod'

// https://taro-docs.jd.com/docs/next/config#defineconfig-辅助函数
export default defineConfig<'webpack5'>(async (merge, { command, mode }) => {
const baseConfig: UserConfigExport<'webpack5'> = {
projectName: 'input-readonly-taro4',
date: '2025-7-31',
designWidth: 750,
deviceRatio: {
640: 2.34 / 2,
750: 1,
375: 2,
828: 1.81 / 2
},
sourceRoot: 'src',
outputRoot: 'dist',
plugins: [
"@tarojs/plugin-generator"
],
defineConstants: {
},
copy: {
patterns: [
],
options: {
}
},
framework: 'vue3',
compiler: 'webpack5',
cache: {
enable: false // Webpack 持久化缓存配置,建议开启。默认配置请参考:https://docs.taro.zone/docs/config-detail#cache
},
mini: {
postcss: {
pxtransform: {
enable: true,
config: {

}
},
cssModules: {
enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
config: {
namingPattern: 'module', // 转换模式,取值为 global/module
generateScopedName: '[name]__[local]___[hash:base64:5]'
}
}
},
webpackChain(chain) {
chain.resolve.plugin('tsconfig-paths').use(TsconfigPathsPlugin)
}
},
h5: {
publicPath: '/',
staticDirectory: 'static',
output: {
filename: 'js/[name].[hash:8].js',
chunkFilename: 'js/[name].[chunkhash:8].js'
},
miniCssExtractPluginOption: {
ignoreOrder: true,
filename: 'css/[name].[hash].css',
chunkFilename: 'css/[name].[chunkhash].css'
},
postcss: {
autoprefixer: {
enable: true,
config: {}
},
cssModules: {
enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
config: {
namingPattern: 'module', // 转换模式,取值为 global/module
generateScopedName: '[name]__[local]___[hash:base64:5]'
}
}
},
webpackChain(chain) {
chain.resolve.plugin('tsconfig-paths').use(TsconfigPathsPlugin)
}
},
rn: {
appName: 'taroDemo',
postcss: {
cssModules: {
enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
}
}
}
}


if (process.env.NODE_ENV === 'development') {
// 本地开发构建配置(不混淆压缩)
return merge({}, baseConfig, devConfig)
}
// 生产构建配置(默认开启压缩混淆等)
return merge({}, baseConfig, prodConfig)
})
33 changes: 33 additions & 0 deletions examples/input-readonly-taro4/config/prod.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import type { UserConfigExport } from "@tarojs/cli"

export default {
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') })
// }))
// }
}
} satisfies UserConfigExport<'webpack5'>
88 changes: 88 additions & 0 deletions examples/input-readonly-taro4/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
{
"name": "input-readonly-taro4",
"version": "1.0.0",
"private": true,
"description": "测试项目",
"templateInfo": {
"name": "default",
"typescript": true,
"css": "Sass",
"framework": "Vue3"
},
"scripts": {
"prepare": "husky",
"new": "taro new",
"build:weapp": "taro build --type weapp",
"build:swan": "taro build --type swan",
"build:alipay": "taro build --type alipay",
"build:tt": "taro build --type tt",
"build:h5": "taro build --type h5",
"build:rn": "taro build --type rn",
"build:qq": "taro build --type qq",
"build:jd": "taro build --type jd",
"build:harmony-hybrid": "taro build --type harmony-hybrid",
"dev:weapp": "npm run build:weapp -- --watch",
"dev:swan": "npm run build:swan -- --watch",
"dev:alipay": "npm run build:alipay -- --watch",
"dev:tt": "npm run build:tt -- --watch",
"dev:h5": "npm run build:h5 -- --watch",
"dev:rn": "npm run build:rn -- --watch",
"dev:qq": "npm run build:qq -- --watch",
"dev:jd": "npm run build:jd -- --watch",
"dev:harmony-hybrid": "npm run build:harmony-hybrid -- --watch"
},
"browserslist": [
"defaults and fully supports es6-module",
"maintained node versions"
],
"author": "",
"dependencies": {
"@babel/runtime": "^7.24.4",
"@tarojs/components": "4.1.4",
"@tarojs/helper": "4.1.4",
"@tarojs/plugin-platform-weapp": "4.1.4",
"@tarojs/plugin-platform-alipay": "4.1.4",
"@tarojs/plugin-platform-tt": "4.1.4",
"@tarojs/plugin-platform-swan": "4.1.4",
"@tarojs/plugin-platform-jd": "4.1.4",
"@tarojs/plugin-platform-qq": "4.1.4",
"@tarojs/plugin-platform-h5": "4.1.4",
"@tarojs/plugin-platform-harmony-hybrid": "4.1.4",
"@tarojs/runtime": "4.1.4",
"@tarojs/shared": "4.1.4",
"@tarojs/taro": "4.1.4",
"@tarojs/plugin-framework-vue3": "4.1.4",
"vue": "^3.0.0"
},
"devDependencies": {
"@tarojs/plugin-generator": "4.1.4",
"@commitlint/cli": "^19.8.1",
"@commitlint/config-conventional": "^19.8.1",
"lint-staged": "^16.1.2",
"husky": "^9.1.7",
"stylelint-config-standard": "^38.0.0",
"@babel/core": "^7.24.4",
"@tarojs/cli": "4.1.4",
"@babel/plugin-transform-class-properties": "7.25.9",
"@types/webpack-env": "^1.13.6",
"webpack": "5.91.0",
"@tarojs/taro-loader": "4.1.4",
"@tarojs/webpack5-runner": "4.1.4",
"sass": "^1.75.0",
"babel-preset-taro": "4.1.4",
"css-loader": "^7.1.1",
"style-loader": "^3.3.4",
"@tarojs/test-utils-vue3": "^0.1.1",
"@vue/babel-plugin-jsx": "^1.2.2",
"@vue/compiler-sfc": "^3.0.0",
"vue-loader": "^17.4.2",
"eslint-plugin-vue": "^9.17.0",
"eslint-config-taro": "4.1.4",
"eslint": "^8.57.0",
"stylelint": "^16.4.0",
"typescript": "^5.4.5",
"tsconfig-paths-webpack-plugin": "^4.1.0",
"postcss": "^8.4.38",
"@types/node": "^18"
}
}
15 changes: 15 additions & 0 deletions examples/input-readonly-taro4/project.config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"miniprogramRoot": "./dist",
"projectname": "input-readonly-taro4",
"description": "测试项目",
"appid": "touristappid",
"setting": {
"urlCheck": true,
"es6": false,
"enhance": false,
"compileHotReLoad": false,
"postcss": false,
"minified": false
},
"compileType": "miniprogram"
}
11 changes: 11 additions & 0 deletions examples/input-readonly-taro4/src/app.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
export default defineAppConfig({
pages: [
'pages/index/index'
],
window: {
backgroundTextStyle: 'light',
navigationBarBackgroundColor: '#fff',
navigationBarTitleText: 'WeChat',
navigationBarTextStyle: 'black'
}
})
Comment on lines +1 to +11
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

缺少必要的导入语句

代码使用了 defineAppConfig 但未导入该函数,这会导致运行时错误。

添加必要的导入语句:

+import { defineAppConfig } from '@tarojs/taro'
+
 export default defineAppConfig({
   pages: [
     'pages/index/index'
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
export default defineAppConfig({
pages: [
'pages/index/index'
],
window: {
backgroundTextStyle: 'light',
navigationBarBackgroundColor: '#fff',
navigationBarTitleText: 'WeChat',
navigationBarTextStyle: 'black'
}
})
import { defineAppConfig } from '@tarojs/taro'
export default defineAppConfig({
pages: [
'pages/index/index'
],
window: {
backgroundTextStyle: 'light',
navigationBarBackgroundColor: '#fff',
navigationBarTitleText: 'WeChat',
navigationBarTextStyle: 'black'
}
})
🤖 Prompt for AI Agents
In examples/input-readonly-taro4/src/app.config.ts lines 1 to 11, the function
defineAppConfig is used but not imported, causing runtime errors. Fix this by
adding the appropriate import statement for defineAppConfig at the top of the
file, ensuring the function is properly imported from the relevant module before
usage.

Empty file.
15 changes: 15 additions & 0 deletions examples/input-readonly-taro4/src/app.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@

import { createApp } from 'vue'

import './app.scss'



const App = createApp({
onShow (options) {
console.log('App onShow.')
},
// 入口组件不需要实现 render 方法,即使实现了也会被 taro 所覆盖
})

export default App
17 changes: 17 additions & 0 deletions examples/input-readonly-taro4/src/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!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>input-readonly-taro4</title>
<script><%= htmlWebpackPlugin.options.script %></script>
</head>
<body>
<div id="app"></div>
</body>
</html>
3 changes: 3 additions & 0 deletions examples/input-readonly-taro4/src/pages/index/index.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export default definePageConfig({
navigationBarTitleText: '首页'
})
Empty file.
20 changes: 20 additions & 0 deletions examples/input-readonly-taro4/src/pages/index/index.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<template>
<view class="index">
<text>{{ msg }}</text>
<input placeholder="请输入" readonly />
</view>
</template>

<script>
import { ref } from 'vue'
import './index.scss'

export default {
setup () {
const msg = ref('Hello world')
return {
msg
}
}
}
</script>
4 changes: 4 additions & 0 deletions examples/input-readonly-taro4/stylelint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/** @type {import('stylelint').Config} */
export default {
extends: "stylelint-config-standard",
};
Loading