明道
在安装Flutter SDK的时候:`开发工具`和`文本编辑器或IDE`是只需要安装一个还是都必须都安装?
* 如果你用的电脑是MacOS;你想编译为可以在MacOS上运行,或者是iOS(也就是苹果手机)上运行的应用,你需要下载xcode,cocopod;因为只有在苹果系统环境下需要依赖这两个开发工具;如果你只是编译为安卓应用;原则上不需要安装xcode,cocoapod;
* 如果你用的是windows ; windows下不能生成可以在MacOS 或者iOS运行的应用程序;也就不需要安装xcode cocoapod;
最后所有的开发工具,IDE安装成功之后执行 "flutter --doctor" 检查当前配置是否有问题。
如果还有疑问,你就按照官网一步一步来安装就行
明道
AMH面板的Supervisor守护进程插件如何正确使用?
问题一:
请教如何开启root用户?系统是debian11。在运行amh supervisor admin chroot
off命令后“启动用户”项内依旧没有root用户。重启主机也无效。
https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250113/ea5efea491f8f0dd21e6b2a7b264d66d.png
问题二:
“运行目录”和“启动命令”是/home/wwwroot/lnmp01/domain/xxxx.com/web/还是/lnmp01/domain/xxxx.com/web/即可?
明道
请问vue serve/build和npm run serve/build(vue-cli-service serve/build)到底有啥区别和联系啊?
先说 "npm run xxx"。
1. 执行时,会以当前所在路径为起点,查找当前目录中是否存在 "package.json" 文件,如果没有,则会进入上一层父级目录,重复这个查找动作。如果直到整个系统的根目录都没有找到,那么就会异常终止。
2. 在找到之后,会查看文件中的 "scripts" 配置,并执行对应的 "xxx" 指令,比如:{
"scripts": {
"xxx": "echo 这是一条测试指令~"
}
}
3. 若是不存在 "xxx" 指令,也就是找不到对应的,则会导致异常终止。
***
再说 "vue xxx",就不特意说 "serve" 和 "build" 了。
首先,"vue" 这个命令行指令,是在全局安装了 Vue-CLI 之后才可以使用的,也就是说,这是一个 CLI 工具。如果你在安装完成之后,输入 "vue"
按下回车,可以看到这些内容。
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250111/7f28ad902181674bd2826b5a0c1e37b8.png)
而当你输入 "vue xxx" 后,都会在其中寻找有没有对应的指令,有则执行,没有则报错。就和 "npm run xxx" 很类似了。
***
虽然看着 "npm run xxx" 和 "vue xxx" 好像差不多,但是前者是可以由我们自定义的,后者是固定的。
别看现在几乎都是 "npm run dev",那只是开发者都习惯了而已,实际上是可以改的,如:
{
"scripts": {
"dev": "vite",
"serve": "vite",
"start": "vite"
}
}
«为什么 "npm run start" 逐渐变成了 "npm run dev"?因为后者短呀,为什么不更短一些?那就不像话了。»
***
更新:
根据 Vue-CLI@5.0.8 源码示意,"vue serve" 和 "vue build" 指令是 "npm run serve" 和 "npm run build" 的别名。
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250111/088ee5b345a996847743b31b4a561b60.png)
明道
如何使用阿里巴巴的iconfont?
1. 是的,需要可以访问外网的权限。
2. 可以新建项目,把你想要的图片都放到项目中后续有新的图标就添加到项目中就行了。然后如果像下载到本地的话,就点击“下载至本地”按钮,然后替换掉原本的字体文件就行。下载的压缩包里面就包含了字体文件和对应的CSS文件。
"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250111/6089b9863a0ec7ce061e516302ae0010.png)
明道
【uniapp】新手求助!vuex的问题,为什么会报module namespace not found in xxx?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250111/73edf58ddea31ebcc45b47f23f62c75b.png)
有哪位大佬能够帮我看看这个vuex的问题,按照网上搜索得到的,翻来覆去弄了一个小时,该检查的我都已经去检查过了,包括命名空间、导入、注册等等,感觉都没有错误,但就是报找不到state和mutation,很邪门。。。
功能实现是:goods_detail页面点击“加入购物车”,然后同步购物车数据到各个模块
涉及到的页面是goods_detail.vue、store.js、cart.js、main.js
先谢过大家!!!
以下是三个页面完整代码:
1.goods_detail.vue
¥{{goods_info.goods_price}}
{{goods_info.goods_name}}
收藏
快递:免运费
import {
mapState
} from 'vuex'
// 按需导入 mapMutations 这个辅助方法
import {
mapMutations
} from 'vuex'
export default {
computed: {
...mapState('m_cart', ['cart'])
},
data() {
return {
// 商品详情对象
goods_info: {},
// 渲染商品导航区域的 UI 结构
// 左侧按钮组的配置对象
options: [{
icon: 'shop',
text: '店铺'
}, {
icon: 'cart',
text: '购物车',
info: 2
}],
// 右侧按钮组的配置对象
buttonGroup: [{
text: '加入购物车',
backgroundColor: '#ff0000',
color: '#fff'
},
{
text: '立即购买',
backgroundColor: '#ffa200',
color: '#fff'
}
]
};
},
onLoad(options) {
// 获取商品 Id
const goods_id = options.goods_id
// 调用请求商品详情数据的方法
this.getGoodsDetail(goods_id)
},
methods: {
// 把 m_cart 模块中的 addToCart 方法映射到当前页面使用
...mapMutations('m_cart', ['addToCart']),
// 定义请求商品详情数据的方法
async getGoodsDetail(goods_id) {
const ans = uni.$http.get('/api/public/v1/goods/detail', {
goods_id
})
console.log(ans)
const {
data: res
} = await uni.$http.get('/api/public/v1/goods/detail', {
goods_id
})
if (res.meta.status !== 200) return uni.$showMsg()
// 使用字符串的 replace() 方法,为 img 标签添加行内的 style 样式,从而解决图片底部空白间隙的问题
res.message.goods_introduce = res.message.goods_introduce.replace(/ x.pics_big)
})
},
// 左侧按钮的点击事件处理函数
onClick(e) {
console.log(e)
if (e.content.text === '购物车') {
// 切换到购物车页面
uni.switchTab({
url: '/pages/cart/cart'
})
}
},
// 右侧按钮的点击事件处理函数
buttonClick(e) {
// 1. 判断是否点击了 加入购物车 按钮
if (e.content.text === '加入购物车') {
// 2. 组织一个商品的信息对象
const goods = {
goods_id: this.goods_info.goods_id, // 商品的Id
goods_name: this.goods_info.goods_name, // 商品的名称
goods_price: this.goods_info.goods_price, // 商品的价格
goods_count: 1, // 商品的数量
goods_small_logo: this.goods_info.goods_small_logo, // 商品的图片
goods_state: true // 商品的勾选状态
}
// 3. 通过 this 调用映射过来的 addToCart 方法,把商品信息对象存储到购物车中
this.addToCart(goods)
}
}
}
}
swiper {
height: 750rpx;
image {
width: 100%;
height: 100%;
}
}
// 商品信息区域的样式
.goods-info-box {
padding: 10px;
padding-right: 0;
.price {
color: #c00000;
font-size: 18px;
margin: 10px 0;
}
.goods-info-body {
display: flex;
justify-content: space-between;
.goods-name {
font-size: 13px;
padding-right: 10px;
}
// 收藏区域
.favi {
width: 120px;
font-size: 12px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
border-left: 1px solid #efefef;
color: gray;
}
}
// 运费
.yf {
margin: 10px 0;
font-size: 12px;
color: gray;
}
.goods-detail-container {
// 给页面外层的容器,添加 50px 的内padding,
// 防止页面内容被底部的商品导航组件遮盖
padding-bottom: 50px;
}
.goods_nav {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
flex-direction: column;
position: fixed;
left: 0;
right: 0;
/* #ifdef H5 */
left: var(--window-left);
right: var(--window-right);
/* #endif */
bottom: 0;
}
}
2.store.js
// 1. 导入 Vue 和 Vuex
import Vue from 'vue'
import Vuex from 'vuex'
// 导入购物车的 vuex 模块
import moduleCart from './cart.js'
// 2. 将 Vuex 安装为 Vue 的插件
Vue.use(Vuex)
// 3. 创建 Store 的实例对象
const store = new Vuex.Store({
// TODO:挂载 store 模块
modules: {
// 挂载购物车的 vuex 模块,模块内成员的访问路径被调整为 m_cart,例如:
// 购物车模块中 cart 数组的访问路径是 m_cart/cart
m_cart: moduleCart,
},
})
// 4. 向外共享 Store 的实例对象
export default store
3.cart.js
export default {
// 为当前模块开启命名空间
namespaced: true,
// 模块的 state 数据
state: () => ({
// 购物车的数组,用来存储购物车中每个商品的信息对象
// 每个商品的信息对象,都包含如下 6 个属性:
// { goods_id, goods_name, goods_price, goods_count, goods_small_logo, goods_state }
cart: [],
}),
// 模块的 mutations 方法
mutations: {
addToCart(state, goods) {
// 根据提交的商品的Id,查询购物车中是否存在这件商品
// 如果不存在,则 findResult 为 undefined;否则,为查找到的商品信息对象
const findResult = state.cart.find((x) => x.goods_id === goods.goods_id)
console.log(findResult)
if (!findResult) {
// 如果购物车中没有这件商品,则直接 push
state.cart.push(goods)
} else {
// 如果购物车中有这件商品,则只更新数量即可
findResult.goods_count++
}
console.log(state.cart)
}
},
// 模块的 getters 属性
getters: {},
}
4.main.js
import App from './App'
import store from './store'
// 导入网络请求的包
import {$http} from '@escook/request-miniprogram'
// 将按需导入的 $http 挂载到 wx 顶级对象之上,方便全局调用
uni.$http = $http
// 配置请求拦截器
$http.beforeRequest = function(){
uni.showLoading({
title:'数据加载中......'
})
}
// 配置响应拦截器
$http.afterRequest = function(){
uni.hideLoading()
}
// 请求根路径 https://api-hmugo-web.itheima.net https://www.uinav.com
$http.baseUrl = 'https://api-hmugo-web.itheima.net'
// 封装请求结果状态信息的弹框方法
uni.$showMsg = function(title = '数据请求失败!', duration = 1500){
uni.showToast({
title,
duration,
icon:'none'
})
}
// #ifndef VUE3
import Vue from 'vue'
Vue.config.productionTip = false
Vue.prototype.$store = store
Vue.prototype.$adpid = "1111111111"
Vue.prototype.$backgroundAudioData = {
playing: false,
playTime: 0,
formatedPlayTime: '00:00:00'
}
App.mpType = 'app'
const app = new Vue({
store,
...App
})
app.$mount()
// #endif
// #ifdef VUE3
import {
createSSRApp
} from 'vue'
export function createApp() {
const app = createSSRApp(App)
app.use(store)
app.config.globalProperties.$adpid = "1111111111"
app.config.globalProperties.$backgroundAudioData = {
playing: false,
playTime: 0,
formatedPlayTime: '00:00:00'
}
return {
app
}
}
// #endif
明道
vue3非 setup 语法糖如何在 css v-bind 中使用当前组件的 props?
props 只会在 template 里自动展开,但 style 里并不会。style 里只能访问到你 setup 里 return
的那些成员。所以你要想访问 props,把它 return 就好了:
export default {
/* 略 */
setup(props) {
return {
props
};
}
}
.download-btn {
width: v-bind('props.width');
height: v-bind('props.height');
color: v-bind('props.color');
background-color: v-bind('props.bgColor');
/* 略 */
}
明道
业务指标的采集与同步如何设计呢?
最近在做小说网站,需要统计小说作品的点击次数这个业务指标,需要实时记录并提供历史查询功能。
目前的方案是:
后端程序启动时,查询 mysql 数据,把各个作品的点击数据批量同步到 redis,这是初始化;
用户点击作品时,更改 redis 中的作品的点击数据,记录下待同步的作品 id;
启动定时执行任务,每 10 分钟执行一次,如果有待同步的作品 id,就把它们的 redis 中的点击数据批量同步到 mysql;
遇到的问题:
同步点击数据到 mysql 时,从 redis 里取的的可能是 0 值,作品的点击数据就被重置为 0 了;或者 redis 服务意外停了,导致指标数据异常。
这是简化后的描述,实际上是把 redis 的数据同步到 mysql 与 clickhouse。
后端使用的是golang
明道
能帮看一下这个"multiple definition"的make报错吗?
/media/zhzhy/entertain/学习/编程语言/snort/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/../lib/gcc/arm-none-linux-gnueabihf/10.3.1/../../../../arm-none-linux-gnueabihf/bin/ld: util.o:/home/zhzhy/snort/snort-2.9.81/build/src/../../src/preprocessors/Stream6/stream_common.h:373: multiple definition of `tcp_lws_cache'; snort.o:/home/zhzhy/snort/snort-2.9.81/build/src/../../src/preprocessors/Stream6/stream_common.h:373: first defined here
/media/zhzhy/entertain/学习/编程语言/snort/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/../lib/gcc/arm-none-linux-gnueabihf/10.3.1/../../../../arm-none-linux-gnueabihf/bin/ld: preprocessors/Stream6/libstream6.a(stream_common.o):/home/zhzhy/snort/snort-2.9.81/build/src/preprocessors/Stream6/../../../../src/preprocessors/Stream6/stream_common.h:376: multiple definition of `ip_lws_cache'; snort.o:/home/zhzhy/snort/snort-2.9.81/build/src/../../src/preprocessors/Stream6/stream_common.h:376: first defined here
所幸这些错误都是"multiple definition of...first defined here"的形式.足足几十条,随便选了两条.
比方说第一条
/media/zhzhy/entertain/学习/编程语言/snort/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/../lib/gcc/arm-none-linux-gnueabihf/10.3.1/../../../../arm-none-linux-gnueabihf/bin/ld:
util.o:
/home/zhzhy/snort/snort-2.9.81/build/src/../../src/preprocessors/Stream6/stream_common.h:373:
multiple definition of `tcp_lws_cache';
snort.o:
/home/zhzhy/snort/snort-2.9.81/build/src/../../src/preprocessors/Stream6/stream_common.h:373:
first defined here
链接器ld认为,两个.o文件中包含了重复定义的标识符,但这两个标识符的定义位置都是某个文件的373行,这是同一个定义,这是什么问题?同一个定义不就是一样东西吗?
还有第二条.
/media/zhzhy/entertain/学习/编程语言/snort/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/../lib/gcc/arm-none-linux-gnueabihf/10.3.1/../../../../arm-none-linux-gnueabihf/bin/ld: preprocessors/Stream6/libstream6.a(stream_common.o):
/home/zhzhy/snort/snort-2.9.81/build/src/preprocessors/Stream6/../../../../src/preprocessors/Stream6/stream_common.h:376:
multiple definition of `ip_lws_cache';
snort.o:
/home/zhzhy/snort/snort-2.9.81/build/src/../../src/preprocessors/Stream6/stream_common.h:376: first defined here
几乎是一回事,只不过是从两个.o文件变成了一个.a文件和.o文件.
这种问题是怎么回事呢?恳请赐教.
明道
Video.js 提示No compatible source was found for this media. 怎么解决?
在vue项目中使用Video.js播放m3u8视频时
播放器会先No compatible source was found for this media.
然后迅速变成正常的视频首帧
但是在生产环境下 这个速度就变得很慢
这个异常提示会持续2-3秒 这个体验非常不好
有没有大佬可以赐教一下
有搜到网上说用nextTick去延迟实例化 但是试了还是会有这个问题
"企业微信截图_16944863047132.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250103/6c3e97786697548d0fdb855d20469d3c.png)
明道
为什么这个项目页面中的a标签必须要设置宽度 a中的img才会展示?
"https://stackblitz.com/edit/web-platform-njj5ut?file=index.html" (https://link.segmentfault.com/?enc=kgc8eUBZrvLmWExqJ3TLDA%3D%3D.zsx4Ozxo7zRbagjmzeXg7lE1oJjVd84MyhKgZ0q43KyBxIb%2BLs6fqc63qSh4ohT30oTfQGJ7KoIiTaV0zR%2Bc%2FQ%3D%3D)
求答疑
明道
关于vue3响应式更新的疑问?
跟 Vue 无关,而是很基础的 JS 语法问题。
先直接抛开 Vue,你现在是三个文件对吧?
// shared.js
export function getFoo() {
const foo = new Foo();
return { foo };
}
// a.js
import { getFoo } from './shared';
const { foo } = getFoo();
// b.js
import { getFoo } from './shared';
const { foo } = getFoo();
问:此时 a.js 里的 "foo",跟 b.js 里的 "foo",是同一个对象实例吗?
答:不是,这两个文件里分别调用的 "getFoo()",里面都是新 new 出来的,当然是两个对象实例。
再问:那么怎样可以让 a.js 和 b.js 共享同一个对象?
再答:得把它提出来啊:
// shared.js
const foo = new Foo();
export function getFoo() {
return { foo };
}
明道
vue/uniapp中,关于数组push的问题?
«正常的push数组,退出这个页面后,再进去(前后没超过10秒吧),再push(同样的方法),也能打印的出来,但是实际上就是没push进去。»
按照这个描述来看,应该是有一个地方的业务代码修改了源数据,所以你在log里面能看到,但是实际上没有。你尝试展开log快照看看是否还有对应的数据在数组中。
或者尝试在一个新页面里面进行同样的操作看看是否能够复现这样的情况。
当然最好是能够提供一部分的业务代码这样我们才能回复更有价值的回答。不过如果是修改了源数据这样的情况,很有可能没办法在脱敏后的代码里面体现。
明道
请问如何进行antd的组件的内部的修改进而二次开发它,修改antd/tree内部的代码给item添加点击事件?
在参考"antd/tree" (https://link.segmentfault.com/?enc=25l%2B1rbQlC2w6VjXp5RUtQ%3D%3D.XRlTHMQfMHyPuLjbyBI9ADSrasI6Si%2Fky0nUWLCZVzuwHdh6lBXDDJnQJW60DB2EHmhhjGLhfwFSzktGGHUweQ%3D%3D)的时候,
我想要关闭"checkable"和"selectable",然后想要有点击的功能。
但是我看文档是没有这个功能的。
1、所以很想基于antd/tree进行二次封装做到可点击。
请问有什么可以指导一下可以做到此需求呢?
2、因为我看组件是这样,不知怎么修改内部内容
如何才能做到修改antd/tree内部的代码给每个item添加点击事件呢。
传输的数据都是如下:
const treeData: DataNode[] = [
{
title: 'test-01',
key: '0-0',
children: [
{ title: 'test001', key: '0-0-0', isLeaf: true, selectable: false },
{ title: 'test002', key: '0-0-1', isLeaf: true, selectable: false },
{ title: 'test003', key: '0-0-2', isLeaf: true, selectable: false },
],
selectable: false,
icon: false,
},
{
title: 'test-02',
key: '0-1',
children: [
{ title: 'test004', key: '0-1-0', isLeaf: true, selectable: false },
{ title: 'test005', key: '0-1-1', isLeaf: true, selectable: false },
],
selectable: false,
icon: false
},
];
不知道如何进行二次开发请各位老师指导一下呢。
明道
vue3中,在一个模板下,共用同一个组件,如何区分?
import { ref } from 'vue';
import Calenda from './Calenda.vue';
const activeInput = ref('');
function showCalendar(inputName) {
activeInput.value = inputName;
}
**可以使用一个变量来记录当前点击的是哪个输入框,然后根据这个变量来决定哪个日期选择组件显示
**添加了一个名为activeInput的响应式变量,用于记录当前点击的输入框名称。当点击某个输入框时,调用showCalendar()方法,并将对应的输入框名称作为参数传递进去。showCalendar()方法会更新activeInput的值为相应的输入框名称。
**然后,我们使用v-if指令来判断activeInput的值,决定是否显示对应的日期选择组件。只有当activeInput的值与输入框名称匹配时,才会显示该日期选择组件。
通过这种方式,我们可以根据点击的输入框来显示相应的日期选择组件,而不是将两个日期选择组件都显示出来
明道
在Kubernetes大家是如何对requests进行优化的?
用资源分析工具 Prometheus 和Grafan先分析一下具体的情况,然后在用用 Vertical Pod Autoscaler (VPA) 自动调整
Pods 的请求和限制。
明道
amh面板 1G内存主机有没有办法安装上mysql 5.7?
还是内存不够的原因,SWAP太低了……调高了点后,把能关闭的都关了后,卡死后编译后期
明道
java并发编程,什么时候考虑?
在java编程中,什么时候需要考虑并发编程来保证线程安全性。还没深入了解这块,在编程时一直很犹豫。
明道
excel导入数据?
遇到了一个这样的问题,excel导入,需要设计表,
举例来说:
学生姓名、年龄、性别、2022年期末总分、2023年期末总分、2024年期末总分、2025年期末总分
这样的一个excel。应该如何设计这张表和实现导入功能呢?
数据量万条的数量级。
求指导
明道
typescript 如何给Class中所有参数加上可选?
class A {
a: number = 0;
b: string = 'aa';
}
class B extends ({} as new () => Partial) {
c: string = "2312"
}
参考:"StackOverflow - Typescript class extending Partial
interface" (https://link.segmentfault.com/?enc=Dn05fkdGg9T10LRiZaCnkg%3D%3D.o0DgvOPaCCXO36L5Mg%2FozGU2K%2F3wE9V4Z4YT80xkcNuBaMKAm2PiF48Y2RucRhrDERnZvStPjAC%2FXstTmjg8G6oRLeWbXoM3aCoQQbv6ZpN%2BXWglnZOSQJuB6EE09NRm)
明道
有什么账号密码已经泄露检查工具吗?
比如检查员工是否不小心把数据库的账号密码等信息不小心发布到了 github/gitee 公开仓库、博客(csdn、思否、掘金)等等
明道
大家帮我看看,这个JS怎么处理分组?
我有一个数组,如下:
let datalist = [
"man-steady",
"woman-steady",
"woman-gentle",
"man-young",
"tcloud_10510000",
"tcloud_1001",
"tcloud_1002",
"tcloud_1018",
"tcloud_101015",
"tcloud_101050",
"tcloud_1004",
"tcloud_1050",
"tcloud_101056",
"tcloud_1003",
"tcloud_301041",
"WYS_15923375458_001",
"WYS_15332681888_001",
"WYS_15712098340_001",
"WYS_15532485330_001",
"WYS_15875942524_001",
"WYS_15923375458_002",
"WYS_15560857009_001",
"WYS_15332681888_002",
"DDS_15570649499_001",
"WYS_15875942524_002"
]
我想把这个数组处理成 这样的格式:
let datalist2 = [
{
name: 'man',
children: [{
name: 'man-steady',
}, {
name: 'man-young',
}]
},
{
name: 'woman',
children: [{
name: 'woman-steady',
}, {
name: 'woman-gentle',
}]
},
{
name: 'WYS',
children: [{
name: '15923375458',
children: [{
name: 'WYS_15923375458_001'
}]
}, {
name: '15332681888',
children: [{
name: 'WYS_15332681888_001'
}, {
name: 'WYS_15332681888_002'
}]
}]
},
{
name: 'tcloud',
children: [{
name: 'tcloud_10510000',
}, {
name: 'tcloud_1001',
}, {
name: 'tcloud_1002',
}]
}
]
类似于datalist2这样的数据结构,怎么才能实现呢?
明道
纯前端的滑块验证有什么意义?
从技术角度和安全策略来看的话,确实毫无意义 —— 不会给你的网站安全性上带来任何提升,并且只会影响正常用户的使用体验、而对爬虫没有影响。
但如果从应付甲方、糊弄老板、提升自己的工作产出 KPI 等方面考虑,则~~意义非凡(划掉)~~ 。
P.S. 大部分开源组件都是 JSer 自己写的,仅仅只是为了演示个 UI 效果而已,并不是为了让你拿来直接放到项目里用的。
***
【回答补充】
一个暴论:任何在此问题下回答“仍有一定防爬虫意义”的人,都是没有任何在实际项目中对抗过爬虫的经验的。当然了,这种人其实挺“可爱”的,正是我原回答里提到的那种你可以随便就糊弄过去的“甲方/老板”们
—— 躺着收钱的活儿谁不爱干呢 😂
***
«来自某回答:
»
“
回到源初的问题,为什么门要装门锁。我觉得可能有以下的几个原因:
1. 防止别人随意进出。
2. 防止小偷进来偷东西。
第二个问题是一个用纸糊的门锁能不能解决上面的问题?答案是当然不能。
但是我们要看和什么对比,如果和什么都没有的状态对比,我相信还是好了一些。比如你是一个
thief,你在踩点的时候考虑是否能进入房间,一般是从房门开始的,如果看到一个看起来难度比较高的门锁,可能你连打开工具箱的想法都没有了。
另外就算是一个真正的门锁其实也不能完全防止被撬。这些策略都是有成本和取舍的。
”
(手动滑稽)
明道
echarts的柱状图x轴标签倾斜时不居中怎么解决?
xAxis: {
type: 'category',
data: ['教育网', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
axisLabel: {
rotate: 45, // 旋转角度
margin:30, //距离轴线距离
align: 'center' //文字水平对齐方式,默认自动。
}
},
参考echarts文档
"https://echarts.apache.org/zh/option.html#xAxis.axisLabel" (https://link.segmentfault.com/?enc=S4hmY5C8MuEhcDcp6tLlvw%3D%3D.exNM2wdkI2KdRxqRJccBfTecrbDw27ILtB2HtqcJlArx%2FC9%2BZqgfyX9cP4M6yAihW5LPtLQHmogwGm077z7Yhw%3D%3D)
明道
基于Electron IM消息列表滚动优化方案?
技术栈:Electron React 开发的IM应用
问题:消息列表可能会有几万条消息,每个消息是一个div块,目前优化方向:
1. 几万条数据时候保持最多渲染2000条消息
2. 向上滚动加载历史数据卡顿体验减少
想知道的事:有没有大神做过这方面的优化,或者说有什么好的优化思路,感谢不吝赐教
明道
typescript 使用import from 方式引入自建对象时报错模块未找到,且已设置moduleResolution为node?
Nodejs项目使用import {a,c} from "./xxx/xxx"
方式导入的时候出现异常,必须要附带后缀名".ts"或者".js"才行,如"import {a,c} from "./xxx/xxx.js":
node:internal/process/esm_loader:40
internalBinding('errors').triggerUncaughtException(
^
Error: Cannot find module 'C:\Users\admin\WebstormProjects\untitled\src\bot\events' imported from C:\Users\admin\WebstormProjects\untitled\index.ts
其中index和events都是ts对象,从报错中看貌似没有去寻找events.ts文件
Node.js V20.9.0
ts-node V10.9.1
我已经完成了tsconfig.json的配置,而且删除了babel之类的相关依赖,依然无法解决问题
"compilerOptions": {
"outDir": "dist",
"types": [
"node",
"jest"
],
"moduleResolution": "node",
"module": "ESNext",
"target": "ESNext"
}
如果说我带上了".ts"后缀,IDE会提示我:An import path can only end with a .ts extension when
allowImportingTsExtensions is enabled;
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241116/789b45bf08a55b701d23dff14b969f44.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241116/2055fb4edd784c6899b9c8cb697f0b5d.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241116/fd286a95d1515c54565b1d67143a9e32.png)
如果说我带上了".js"后缀,那么可以正常运行,但是在IDE的自动补全导入代码的时候并不会主动给我带上".js"后缀,很不方便,所以我想知道为什么我这里不能在没有后缀的时候引入依赖对象
明道
为什么iframe动态赋值src比直接在src中写死 url 然后 渲染内容要慢一些 ?
浏览器渲染页面就是从上到下渲染的
你觉得变慢了 可能
一开始iframe和页面其他节点一起渲染,所以看起来是一下子出来,后面你只改了src只是重新渲染iframe,看起来就变慢了
你觉得缓慢加载会有问题的话可以加载一个loading 在加载之后取消掉
参考:
iframeLoad() {
this.loading = true;
const iframe = this.$refs.iframe;
// 兼容处理
if (iframe.attachEvent) {
// IE
iframe.attachEvent("onload", () => {
this.loading = false;
});
} else {
// 非IE
iframe.onload = () => {
this.loading = false;
};
}
}
明道
flink-connector-mysql-cdc 2.1.1 监听mysql,其中mysql的主键 是 二进制 格式,出现如下错误?
使用flink-connector-mysql-cdc 2.1.1 监听mysql,其中mysql的主键 是 二进制 格式,出现如下错误。
请问各位大佬如何解决? 按照我的理解 是拆表的时候 出现的问题,应该不是反序列化的问题吧?
[pool-79-thread-1] INFO io.debezium.jdbc.JdbcConnection - Connection gracefully closed
[SourceCoordinator-Source: MySQL Source -> Sink: Print to Std. Out] ERROR org.apache.flink.runtime.source.coordinator.SourceCoordinator - Uncaught exception in the SplitEnumerator for Source Source: MySQL Source -> Sink: Print to Std. Out while handling operator event RequestSplitEvent (host='') from subtask 0. Triggering job failover.
org.apache.flink.util.FlinkRuntimeException: **Generate Splits for table 。。。 error**
at com.ververica.cdc.connectors.mysql.source.assigners.ChunkSplitter.generateSplits(ChunkSplitter.java:115)
at com.ververica.cdc.connectors.mysql.source.assigners.MySqlSnapshotSplitAssigner.getNext(MySqlSnapshotSplitAssigner.java:168)
at com.ververica.cdc.connectors.mysql.source.assigners.MySqlHybridSplitAssigner.getNext(MySqlHybridSplitAssigner.java:113)
at com.ververica.cdc.connectors.mysql.source.enumerator.MySqlSourceEnumerator.assignSplits(MySqlSourceEnumerator.java:167)
at com.ververica.cdc.connectors.mysql.source.enumerator.MySqlSourceEnumerator.handleSplitRequest(MySqlSourceEnumerator.java:98)
at org.apache.flink.runtime.source.coordinator.SourceCoordinator.lambda$handleEventFromOperator$1(SourceCoordinator.java:172)
at org.apache.flink.runtime.source.coordinator.SourceCoordinator.lambda$runInEventLoop$8(SourceCoordinator.java:331)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Caused by: java.lang.ClassCastException: **[B cannot be cast to java.lang.Comparable**
at com.ververica.cdc.connectors.mysql.source.utils.ObjectUtils.compare(ObjectUtils.java:86)
at com.ververica.cdc.connectors.mysql.source.assigners.ChunkSplitter.nextChunkEnd(ChunkSplitter.java:239)
at com.ververica.cdc.connectors.mysql.source.assigners.ChunkSplitter.splitUnevenlySizedChunks(ChunkSplitter.java:208)
at com.ververica.cdc.connectors.mysql.source.assigners.ChunkSplitter.splitTableIntoChunks(ChunkSplitter.java:162)
at com.ververica.c
明道
antd排序后的表格怎么找到指定的数据的当前位置?
我目前的方案是在排序的时候,在onChange时保存一下sorter参数,然后用sorter里的order和column.sorter来排序一下原数据。白耗了这么点性能
明道
Java SecretKeySpec 与 PHP hash_hmac 加密不同解决方法?
有谁知道java的crypto 加密和php 的hash_hmac 加密生成的密文不一样怎么解决"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241107/601db447c29f90e8a50544468adc7c77.png)
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241107/f6a6ba83f7db7b3598f2f480b3156939.png)
这个是java的
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241107/1e08a60205231ed9735a49b7e50346e8.png)
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241107/eea0f797a5456cb7ea0f27ad6515b28f.png)
这个是我用php 写的
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241107/8e2de84dbd6dc1845619967708eab932.png)
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241107/708179936710137d6ec547a3b650f25d.png)
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241107/bbdf74be35259667f803ebdeed126fff.png)
明道
Nuxt3移动端@click绑定点击为什么无效?
"Nuxt3" 移动端绑定点击为什么无效?
// app.vue
const i = ref(0);
const clickDIV = () => {
i.value = i.value + 1;
}
点击 - {{i}}
如果是 "VUE3" 中可以,如果是 "Nuxt3" 中不可以,为什么?用手机浏览器,或微信打开,都不可以,PC端浏览器模拟移动端可以。
明道
AMH面板问题,虚拟机安装面板后,新建网站绑定域名为127.0.0.1无法访问?
正常虚拟主机绑定后就可以访问的,不用其它设置,
不能访问的话,到面板『网络』看有没相应端口的监听,如80,
或你也可以改虚拟主机的监听端口成81,看有没81的端口监听(以能确认主机有没生效)
如果监听正常,无法访问,那就要从防火墙、网络方面排查。
无法访问也看具体是报什么错误,404还是403等,
另外,如果是从宝塔换到AMH要注意删除宝塔自身生成的.ini的文件,在网站根目录下。
明道
vetur 无法在 .vscode 的 settings.json 中进行配置吗?
项目中 .vscode 文件夹里的 settings.json,无法配置插件,比如 vetur 的配置吗?
如图,我配置了提示无效
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241103/0f4490be5e5b4f29616108eaff93e8d3.png)
设置里搜索,项目文件夹的也搜不到相关配置
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241103/551dd46c2d0b5a9241c7b4e2199de4a8.png)
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241103/c4284b26e543968fb5d833608be1ef49.png)
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241103/157c485068d39630714f84ebe8c9a906.png)
所以是 vetur 插件的配置只能配置在本地吗?
我想配置在项目里,达到成员直接配置是一致的效果,这个无法实现吗?
还是说我上面哪个步骤不正确?
明道
java打包成可执行jar时出现NoClassDefFoundError?
java新手提问,请各位大佬帮忙解答为谢!!!
在java中引入第三方jar包,使用gradle将我的项目打包成可执行的jar时并运行时报错:
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241031/8d6d16350c73c1d02cdbd2de0ccde1eb.png)
第三方给的这个jar包结构如下:
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241031/4f48529588b437a44541d2ac6b8fc7fa.png)
我理解"NoClassDefFoundError:javax/xml/transform/e"应该是class文件的路径不对,按道理是jar包中class的路径javax/xml/transform/e,但是为什么看到的是javax.xml/transform/e呢。
在IDEA中运行代码是没问题的,但是打包成jar后通过 "java -jar test.jar"后就会报错,请问什么原因引起的呢。
我的gralde配置文件如下:"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241031/39caae81edfb4330aa5a22e04a3b4093.png)
请大神帮忙解答下如何解决呀,十分感谢!!!
运行无报错
明道
Beep函数无法播放声音,如何解决?
"https://zhidao.baidu.com/question/205959374.html" (https://link.segmentfault.com/?enc=C%2Bnsx9SqmKr1Iygk9qBUBQ%3D%3D.oWw%2FZFwRr%2FM6169W3oFbr%2BYGC0u%2F13rmYgbRnWMkqM2hiZskxQ%2Famrq%2B16m3Bdb%2FQhJ6lwH%2FFnZsHsQy610rvQ%3D%3D)
WinApi 里的 Beep 操作的是主板扬声器,不是声卡(也不是 板载声卡)
主板扬声器么,就是 开机自检 听到的 "哔" 的那一声
好像现在都不响了,大概是 BIOS 有设置,默认关闭了
明道
如何获取其他主题模式下css变量的值?
解析css提取出来
"DEMO" (https://link.segmentfault.com/?enc=Yj8ZgEdUPkK1oreS7DOdIg%3D%3D.CZqqlzfqTb4DdgFWudFgQOZBCdYTqumbdv8PlPbspdf%2FxR7gOd6JoJ5XuLOhVGnN)
明道
求时区国际化方案?
"momentjs"提供了接口:
«"https://moment.nodejs.cn/timezone/docs/#/using-> timezones/" (https://link.segmentfault.com/?enc=p07BPyLMHys97wayKUZw%2BA%3D%3D.WP3Dy5HrgEufzhbvRfk3OecRHf9sAiwcHU3pBUJRYQppEThXIIuuV7vdS1RR3tjK6uWLlwcVHlP3pbeR3APwjQ%3D%3D)»
转换原理
«"https://juejin.cn/post/7250375035634696251" (https://link.segmentfault.com/?enc=23jy8TcF%2FlFOCQWhg%2BfqHg%3D%3D.ocJ376O3A6WyumE68n1YW%2B4byyPBsGvoDQY%2BiqlyQUIiYc3fn8IlKjxaL%2FWUzqM%2F)
"https://segmentfault.com/a/1190000040845760#item-4" (https://segmentfault.com/a/1190000040845760#item-4)»
教程
«"https://juejin.cn/post/7100237939287785503" (https://link.segmentfault.com/?enc=8K5sUlC9YwMIQqJaoNQ1tA%3D%3D.XMAumIzhqYRQUr3ovBO5u6ibU7FjCOn6f2nnOdDzroshsS3YOOaj7%2B7E8RKfvKRv)»
明道
如何解决Juint5每次执行测试方法都需要启动一次项目?
通过代理服务器提前将项目测试环境加载好,用代理服务器去执行测试方法。可以参考这篇文章"https://zxbcw.cn/post/221723/" (https://link.segmentfault.com/?enc=Z%2FppVOKdmQhTU92e4WjSOw%3D%3D.dbLPaQCrm870Dhn%2FemXeNnlyGa3r5GE%2Bii97cww1yX4%3D)
明道
如何关闭 github 的 Two-factor authentication?
如何关闭 github 的 Two-factor authentication?
"图片.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241023/7d915bca93b4405d81c8533bff8581b0.png)
挺烦人的
***
为什么国外这些东西都变成这样了?连 pypi 都这样了?
"图片.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241023/88eba42a83b709465a074736bf4b38ca.png)
明道
如何解决Vue项目上线后请求地址错误?
vue项目打包上线之后 请求地址错乱 "1710833964594.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241022/003e645756504ee634ac6ac068545205.png)
不知道啥问题
明道
不规则border-image如何自适应?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241016/cf3c60a9af699aa609011507d7383c49.png)
想请教一下像这种不规则的背景图,如何实现按照图片的大小自适应呢?
重要的是背景图不被拉伸,可以基本正常显示。
明道
window 系统下 docker volumn 的实际放置位置在哪里?
通过 docker 命令创建了一个 volumn 的卷,然后执行
"docker volume inspect todo-db"
[
{
"CreatedAt": "2024-01-03T17:09:01Z",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/todo-db/_data",
"Name": "todo-db",
"Options": null,
"Scope": "local"
}
]
文档说 Mountpoint 是 volumn 在磁盘上的实际位置。
上面的输出是在 window 系统下输出的,那么这个实际位置究竟在哪里?
明道
点击高亮显示?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/58ce0c48c721f31acdbe641abb3aeed7.png)
在页面上有两个框 这两个框是一个数组的数据类似与
[
[
{
x:'1',
y:'2'
},
{
x:'1',
y:'2'
}
]
这种格式的我去循环然后画的框 想要实现无论点击这两行哪行 这两行都高亮显示
用过根据id查找页面元素,但id只能返回第一个所以只能第一个高亮
const svg = document.getElementById('targetSvg' + num)
result.value.forEach((item, index) => {
if (item.target.position[0].pageNum == num) {
isLine(item.target.position).forEach((ite) => {
let rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect')
svg!.appendChild(rect)
rect.setAttribute('x', (ite.startX * scaleView) / targetScale.value + '')
rect.setAttribute('y', (ite.y * scaleView) / targetScale.value + '')
rect.setAttribute(
'width',
Math.abs(((ite.endX - ite.startX) * scaleView) / targetScale.value) + ''
)
rect.setAttribute('height', (ite.h * scaleView) / targetScale.value + '')
rect.setAttribute(
'stroke',
item.compare_result == 'del'
? '#ff827f'
: item.compare_result == 'add'
? '#68a34c'
: item.compare_result == 'convert'
? '#ffd692'
: ''
)
let rectHandW = {
x: (ite.startX * scaleView) / targetScale.value,
y: (ite.y * scaleView) / targetScale.value,
w: Math.abs(((ite.endX - ite.startX) * scaleView) / targetScale.value),
h: (ite.h * scaleView) / targetScale.value
}
targetRectStyle.value.push(rectHandW)
rect.setAttribute('stroke-width', '1')
rect.setAttribute('fill', 'transparent')
rect.setAttribute('cursor', 'pointer')
rect.id = 'targetrect' + (index + 1)
明道
echart图表渲染不出?
echarts图表渲染不出来,查看元素canvas标签都没有。
需求:在表格内点击生成echart图
解决:表格数据渲染,其中一列判断为csv属性后,实现在单元格内点击文字,触发dialog弹窗,弹窗中显示echart图表。
模板:
图表
data:
" dialogTableVisible: false"
methods:
openEchart() {
console.log(2222);
this.dialogTableVisible = true;
this.$nextTick(() => {
this.initChart();
});
},
initChart() {
const echart1 = this.$echarts.init(document.getElementById("echart1"));
echart1.setOption({
title: {
text: "ECharts 入门示例",
},
tooltip: {},
xAxis: {
data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
},
yAxis: {},
series: [
{
name: "销量",
type: "bar",
data: [5, 20, 36, 10, 10, 20],
},
],
});
},
渲染出来了(可能一开始就渲染出来没注意到),但是弹窗上不显示,而是后面阴影部分显示出来....
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241012/fa291a18c506ab9f8ad8a79ef70d6cb1.png)
改变渲染时机放到获取数据源方法中去初始化echart容器,控制台报错:Initialize failed: invalid dom。
***
已经解决了:弹窗标签不应该放到表格内,放到表格外等待触发才是正确的。但原理是什么没研究明白。
明道
vite项目import.meta.env能获取非VITE开发的环境变量?
这个base是vite.config.js里面的base配置项,默认是'/'
"vite配置" (https://link.segmentfault.com/?enc=bUeSBqNjH0lFJy97X9gFIg%3D%3D.GXTidbvHsjbfRqPll37yIj%2FbUr9lUXyPaeUGRoE51JKUXfwcpEpjlpL%2F0h617QlFQfKdxnEzTcy9HZny%2F2Kr1A%3D%3D)
明道
后台管理路由跳转回来怎么保留搜索表单参数?
后台管理大致有两种页面
一种是带搜索表单和表格的数据展示页面 在下面称A页面
一种是表单的数据新增/编辑页 在下面称B页面
现在需要在A跳到B的时候 记录表单的搜索状态 等B回到A的时候 把状态重新赋值给表单
想问下大佬们有没有好的方法
我目前只能想到一个方法
1:从A去B的时候把搜索表单的参数拼接到地址栏 然后点返回A的时候 把参数再带回A 然后去重新赋值
但是感觉可维护性和可阅读性都很差,而且需要一个页面一个页面的做处理,需要A跳B的页面也很多
另外觉得监听路由变化做处理是最简单也是最好维护的 但是具体咋做还在想 想法还没有打通
补充:有第二种想法是因为维护过一个后台管理项目 做法比较'新颖'(我第一次见) 表单表格字段以及值(例如obj:{name:1},obj、name、1
三个都是后端在数据库维护的) 每个页面调一个接口 传当前页面的pathname 然后后端返回一堆配置 然后前端页面都是组件化
所以它那个项目监听路由变化很简单 因为所有的页面 都是用的一个公共大组件
明道
鸿蒙arkUI中怎么解决Panel显示不完整的问题?
下面是一个Panel组件,
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/a47b8bfa79924ce722edf05a887c9aea.png)
但是在Table模式下就成这样了,下面的部分没显示出来,我尝试用了Scroll,但Scroll好像有些组件不支持?这种情况怎么解决?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/e73c32b1ed8dcd7610c0cf318737de46.png)
«本文参与了"思否 HarmonyOS
技术问答马拉松" (https://segmentfault.com/a/1190000044600728),欢迎正在阅读的你也加入。»
明道
制作答题卡功能?
有没有大佬做过这种制作答题卡的功能,求学习https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/74efc5400154d80674a3413563b839d3.png
求源码学习
明道
解决鸿蒙arkts请求失败问题?
鸿蒙arkts 请求失败了
mock
请求地址:"https://dummyjson.com/quotes" (https://link.segmentfault.com/?enc=UcISZijvbLxcbrue4mguMA%3D%3D.wi%2B9usm7at9PbnbnARjyFP%2Fvlf0XIh8rX452r1b6iTo%3D)
axios 发起请求
"index.ets" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/e46fcf8de6f5414d77ee40a8a13c151e.png)
"entry/src/main/module.json5" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/d81e12082a8ef5163594be3e5626417f.png)
"配置" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/b7d70578e513360310be3ea09a25d0a3.png)
官网Http库
"http" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/7ace6d813bf00b929c5a10e53ec4e543.png)
明道
为什么Java的这种文件下载方式会出问题,是文件类型问题吗?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241003/5c0c38691901cd9699964b800d80092a.png)
你这缓冲区始终是 1024,while 循环每次都写这么多,最后一次也是。可你总字节数一定是 1024
的整数倍吗?如果不是的话最后一次写的时候结尾不一堆乱字节吗?你 txt 没乱码估计也是因为文件太小的缘故,压根没有
1024,第一次就是最后一次,否则一样有乱码。
非要这么写的话也应该是:
int len;
byte[] bytes = new byte[1024];
while ((len = inStream.read(bytes)) != -1) {
outStream.write(bytes, 0, len);
}
明道
编译uImage LOADADDR=0x60003000 报错 ?
具体操作如下
1.linux-4.4.76$ vi Makefile
ARCH ?= arm
CROSS_COMPILE ?= arm-none-linux-gnueabi-
2.make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm vexpress_defconfig
3.make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm LOADADDR=0x60003000
uImage -j4
CC fs/ext4/readpage.o
CC fs/ext4/sysfs.o
LD fs/ext4/ext4.o
LD fs/ext4/built-in.o
make: *** [Makefile:962:fs] 错误 2
完整输出结果:
"在这里" (https://link.segmentfault.com/?enc=kv30XO%2FWvXgbkzioKn3dJA%3D%3D.o8ZvegHPs1rpuQz5byVNW5ikRetoo5ZwdtWKAwFL58SXPmbi5h4q1WAyaE%2BZLE10zl1Hh0R8qqnwha%2FPbdTS5w%3D%3D)