


How to build a universal data simulation framework for the front end (detailed tutorial)
The editor below will share with you a tutorial on building a common front-end data simulation framework using mockjs and json-server. It has a good reference value and I hope it will be helpful to everyone. Let’s follow the editor and take a look
Whether you are doing front-end development at work or in your spare time, it is inevitable that the back-end team has not completed the development of the interface, but the front-end team needs to implement the corresponding functions , don’t ask why, it definitely exists. This article was produced for this reason. I hope it will be helpful to those who have needs in this regard.
1. Component packages used
1. mockjs: used to simulate query results
2. json-server: Build a simulation server and simulate CRUD-related operation interfaces
2. Specific implementation 1. Create a project and install the corresponding Dependencies
cnpm install --save-dev mockjs json-server
The above command is to install dependencies. The following picture shows the project results:
Instructions:
data: This folder stores the query results simulated by mockjs. The dataProvider is followed by a separate simple
lib: a jquery file included, used to simulate ajax requests.
route: The routing table of json-server is used to simulate crud operations. I don’t know how to implement multiple db.json
index.js: Simulate server entry file
test.html: Test cors
2. Build a basic json-server server
var JsonServer = require('json-server'); var path = require('path') var Server = JsonServer.create(); var defaultMid = JsonServer.defaults({ "noCors": false, "static": path.join(__dirname, "/lib") }); var router = JsonServer.router(path.join(__dirname, '/route/db.json')); Server.use(defaultMid); Server.use(router); Server.listen(8009); console.log('start 8009.....');
This part of the content is written completely in accordance with the official instructions of json-server. It is worth noting static and noCors The setting is done as a middleware.
3. Increase the application of mockjs
Here mockjs is only used as the cornerstone of generating data, while dataProvider.js provides the ability to unify external access interfaces. That is to say, the simulation data is separated by module (equivalent to the controller in MVC) and func (equivalent to the action in MVC). I don’t know if this implementation is feasible (I am currently using this in my project.)
3.1 First, create the emp.js file in the data folder. The following content was written:
var mockjs = require('mockjs'); module.exports = { list: function(){ var data = mockjs.mock({ 'list|3':[ { 'id|+1':1 } ] }); return data.list; } }
Here is the use of mockjs
3.2 Use dataProvider to implement module collection
var emp = require('./emp'); var moduels = { emp: emp } module.exports = { execute: function(m, f, args){ return moduels[m][f].call(moduels[m], args); } }
3.3 Add the get method to json to obtain data
var provider = require('./data/dataProvider'); Server.get('/data',function(req,res){ var moduleName = req.body ? req.body.moduleName : req.query.moduleName; var funName = req.body ? req.body.funName : req.query.funName; var arg = null; res.json(provider.execute(moduleName, funName)); res.end(); });
If you want to access the List under emp, the address is: http://localhost:8009/data?moduleName=emp&funName=list
4. Summary
1. There can only be one db.json file of json-server. Multiple data entities can be configured here. It uses get to obtain and post to write the http protocol to realize the data. CRUD's
Seeing this, do you feel that it is so simple to build a data simulation server, of course it is only for webapi. Download sample code
The above is what I compiled for everyone. I hope it will be helpful to everyone in the future.
Related articles:
How to achieve elastic effects in JavaScript
How to implement cookie cross-domain in axios
How to use JS to realize the parabolic trajectory movement of the ball
How to use JavaScript to realize binary tree traversal
The above is the detailed content of How to build a universal data simulation framework for the front end (detailed tutorial). For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Last week, amid the internal wave of resignations and external criticism, OpenAI was plagued by internal and external troubles: - The infringement of the widow sister sparked global heated discussions - Employees signing "overlord clauses" were exposed one after another - Netizens listed Ultraman's "seven deadly sins" Rumors refuting: According to leaked information and documents obtained by Vox, OpenAI’s senior leadership, including Altman, was well aware of these equity recovery provisions and signed off on them. In addition, there is a serious and urgent issue facing OpenAI - AI safety. The recent departures of five security-related employees, including two of its most prominent employees, and the dissolution of the "Super Alignment" team have once again put OpenAI's security issues in the spotlight. Fortune magazine reported that OpenA

Evaluating the cost/performance of commercial support for a Java framework involves the following steps: Determine the required level of assurance and service level agreement (SLA) guarantees. The experience and expertise of the research support team. Consider additional services such as upgrades, troubleshooting, and performance optimization. Weigh business support costs against risk mitigation and increased efficiency.

70B model, 1000 tokens can be generated in seconds, which translates into nearly 4000 characters! The researchers fine-tuned Llama3 and introduced an acceleration algorithm. Compared with the native version, the speed is 13 times faster! Not only is it fast, its performance on code rewriting tasks even surpasses GPT-4o. This achievement comes from anysphere, the team behind the popular AI programming artifact Cursor, and OpenAI also participated in the investment. You must know that on Groq, a well-known fast inference acceleration framework, the inference speed of 70BLlama3 is only more than 300 tokens per second. With the speed of Cursor, it can be said that it achieves near-instant complete code file editing. Some people call it a good guy, if you put Curs

The learning curve of a PHP framework depends on language proficiency, framework complexity, documentation quality, and community support. The learning curve of PHP frameworks is higher when compared to Python frameworks and lower when compared to Ruby frameworks. Compared to Java frameworks, PHP frameworks have a moderate learning curve but a shorter time to get started.

The lightweight PHP framework improves application performance through small size and low resource consumption. Its features include: small size, fast startup, low memory usage, improved response speed and throughput, and reduced resource consumption. Practical case: SlimFramework creates REST API, only 500KB, high responsiveness and high throughput

According to news on June 26, at the opening ceremony of the 2024 World Mobile Communications Conference Shanghai (MWC Shanghai), China Mobile Chairman Yang Jie delivered a speech. He said that currently, human society is entering the fourth industrial revolution, which is dominated by information and deeply integrated with information and energy, that is, the "digital intelligence revolution", and the formation of new productive forces is accelerating. Yang Jie believes that from the "mechanization revolution" driven by steam engines, to the "electrification revolution" driven by electricity, internal combustion engines, etc., to the "information revolution" driven by computers and the Internet, each round of industrial revolution is based on "information and "Energy" is the main line, bringing productivity development

Choose the best Go framework based on application scenarios: consider application type, language features, performance requirements, and ecosystem. Common Go frameworks: Gin (Web application), Echo (Web service), Fiber (high throughput), gorm (ORM), fasthttp (speed). Practical case: building REST API (Fiber) and interacting with the database (gorm). Choose a framework: choose fasthttp for key performance, Gin/Echo for flexible web applications, and gorm for database interaction.

Recently, 2,500 pages of internal Google documents were leaked, revealing how search, "the Internet's most powerful arbiter," operates. SparkToro's co-founder and CEO is an anonymous person. He published a blog post on his personal website, claiming that "an anonymous person shared with me thousands of pages of leaked Google Search API documentation that everyone in SEO should read." Go to them! "For many years, RandFishkin has been the top spokesperson in the field of SEO (Search Engine Optimization, search engine optimization), and he proposed the concept of "website authority" (DomainRating). Since he is highly respected in this field, RandFishkin
