前端离开后端就不能开发项目了?

前端离开后端就不能开发项目了?

    经常在技术社区中看到后端个个都能代替前端,前端却代替不了后端! 
    后端有多牛,前端有多菜!
    嗯.......事实真的如此吗?
	前端一个人在没有服务器、数据库的情况下到底能不能开发一个项目呢?
	答案: 肯定是可以的!

在没有数据库的情况下,我们可以有很多种选择,比如:本地存储!
当然由于本地存储有大小限制,存一些小数据还是可以的,但是存放大数据就肯定不行了。

那就换一种思路,再比如:

我们能不能将js文件当成数据库里面的某一个表呢?

基于这个思路,我们创建多个js文件当成你的每个的功能表。然后基于node.js来实现对js文件的操作(增删改查)

有了这个思路,创建一个基于node.jsvue以及electron的项目进行试一下!

第一步:创建每个模块需要储存的js文件

在这里插入图片描述

第二步:封装node.js对js文件的操作功能

//封装的个个方法

const fs = require('fs');
const path = require('path')
// 获取应用程序的路径
const dataPath = process.env.NODE_ENV === 'development' ? __dirname : path.join(__dirname,'static/data/')
// 读取文件内容
function readFileContent(filename) {
    try {
        const filePath = path.join(dataPath,filename);
        const data = fs.readFileSync(filePath, 'utf8');
        return JSON.parse(data);
    } catch (err) {
        console.error(`Error reading file: ${err}`);
        return null;
    }
}

// 写入文件内容
function writeFileContent(filename, content) {
    try {
        fs.writeFileSync(path.join(dataPath,filename), JSON.stringify(content));
    } catch (err) {
        console.error(`Error writing file: ${err}`);
    }
}

// 添加内容到文件
function addContent(filename, newContent) {
    const existingData = JSON.parse(readFileContent(filename)) || [];
    existingData.unshift(newContent);
    writeFileContent(filename, JSON.stringify(existingData));
}

// 删除文件中的内容
function deleteContent(filename, index) {
    const existingData = JSON.parse(readFileContent(filename));
    if (existingData && existingData.length > 0) {
        const upDate = existingData.filter(item => item.id !== index);
        writeFileContent(filename, JSON.stringify(upDate));
    }
}

// 更新文件中的内容
function updateContent(filename, id, updatedContent) {
    const existingData = JSON.parse(readFileContent(filename));
    if (existingData && existingData.length > 0) {
        for (let i = 0; i < existingData.length; i++) {
            if (existingData[i].id === id) {
                existingData[i] = updatedContent;
                break; // 找到匹配项后立即退出循环
            }
        }
        writeFileContent(filename, JSON.stringify(existingData));
    }
}

//导出文件
function importData(filename,existingData){
    if(existingData){
        writeFileContent(filename, JSON.stringify(existingData));
    }
}

module.exports = {
    readFileContent,
    writeFileContent,
    addContent,
    deleteContent,
    updateContent,
    importData
};

第三步:使用封装公共的方法

//封装获取数据方法
//需要先将readFileContent方法引用到vue文件中去使用
//根据不同的参数给各个方法传参
GetlocalStorageFun() {
  return JSON.parse(readFileContent(this.filePath)) || []
},

第四步:打安装包并安装电脑桌面运行测试

将一些基本需要配置的比如项目名称版本号等配置完
在这里插入图片描述
根据你需要的包直接打相应的命令,就可以了!
打完包之后,直接在build文件夹下运行exe安装包,可以选择安装目录
在这里插入图片描述
安装成功后直接运行,就可以使用了!

测试
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上测试,功能都可以正常使用!

注意:
为了防止数据丢失,所以开发了数据备份和数据导入功能!
如果后期页面更新了内容,需要将现有的数据备份,安装新版本后在重新导入一下即可!

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有思想的前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值