中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

利用對象儲存做網(wǎng)站友情鏈接免費發(fā)布平臺

利用對象儲存做網(wǎng)站,友情鏈接免費發(fā)布平臺,湖南高端網(wǎng)站建設(shè),企業(yè)怎樣建立自己的網(wǎng)站文章目錄 一、構(gòu)建方法1、api/request.js2、api/requestHandler.js3、api/index.js 二、測試方法1、api/axios.js2、main.js3、app.vue4、vue.config.js5、index.html 三、打包1、配置package.json2、生成庫包3、配置發(fā)布信息4、發(fā)布 四、使用1、安裝2、使用 五、維護(hù)1、維護(hù)和…

文章目錄

      • 一、構(gòu)建方法
        • 1、api/request.js
        • 2、api/requestHandler.js
        • 3、api/index.js
      • 二、測試方法
        • 1、api/axios.js
        • 2、main.js
        • 3、app.vue
        • 4、vue.config.js
        • 5、index.html
      • 三、打包
        • 1、配置package.json
        • 2、生成庫包
        • 3、配置發(fā)布信息
        • 4、發(fā)布
      • 四、使用
        • 1、安裝
        • 2、使用
      • 五、維護(hù)
        • 1、維護(hù)和更新
        • 2、注意事項

一、構(gòu)建方法

  • 確定工具庫的需求和功能:在開始構(gòu)建工具庫之前,你需要明確你的工具庫需要包含哪些方法及工具,以及這些工具或方法應(yīng)該具備哪些功能。這有助于你更好地規(guī)劃你的開發(fā)工作。

  • 編寫工具代碼:使用你熟悉的前端框架(如React、Vue等)編寫工具代碼。確保你的代碼具有良好的可讀性和可維護(hù)性,并遵循相關(guān)的編碼規(guī)范。

  • 創(chuàng)建工具庫的結(jié)構(gòu):為了組織和管理你的組件,你需要創(chuàng)建一個清晰的目錄結(jié)構(gòu)。這可以包括組件的源代碼、樣式文件、文檔和示例等。

1、api/request.js

這里是axios操作的封裝

import axios from 'axios'
import {replayDefence,encryptRequest,distortDefence,requestTimeOut
} from './requestHandler'
axios.defaults.timeout = requestTimeOut || 20000; //超時響應(yīng)
axios.defaults.headers['Content-Type'] = 'application/json;charset=UTF-8'; // 配置請求頭
axios.defaults.headers['X-Requested-With'] = 'XMLHttpRequest'; // 區(qū)分ajax請求還是普通請求
axios.defaults.withCredentials = true; // axios 默認(rèn)不發(fā)送cookie,需要全局設(shè)置true發(fā)送cookieclass HttpRequest {constructor() {this.instance = axios.create()this.interceptors()}interceptors() {// request攔截器this.instance.interceptors.request.use((config) => {if (config.url) {// 防重放replayDefence(config);// 報文加密encryptRequest(config);// 防篡改distortDefence(config);return config;}}, error => {return Promise.reject(error);})// respone攔截器this.instance.interceptors.response.use(async (res) => {if (res.status === 200) {// return Promise.resolve(res)return res} else {return Promise.reject(res)}}, error => {return Promise.reject(error)})}/*** 提交數(shù)據(jù),同時支持  data 和 params* @param {*} url * @param {*} params * @returns */post(url, params = {}) {return this.instance({url: url,method: 'post',data: params})}/*** 獲取數(shù)據(jù),只支持 params 傳參* @param {*} url * @param {*} params * @returns */get(url, params = {}) {return this.instance({url: url,method: 'get',params: params})}/*** 更新數(shù)據(jù),同時支持  data 和 params* @param {*} url * @param {*} params * @returns */put(url, params = {}) {return this.instance({url: url,method: 'put',data: params})}/*** 刪除數(shù)據(jù),只支持 params傳參* @param {*} url * @param {*} params * @returns */delete(url, params = {}) {return this.instance({url: url,method: 'delete',params: params})}
}export default HttpRequest
2、api/requestHandler.js

這里是請求攔截中的方法的抽離

const winConfig = window._CONFIG || {}
const {urlRandom,tampering,SM4Rncrypt,timeout
} = winConfigexport const requestTimeOut = timeout/*** 防重放,這里添加時間戳和6位隨機(jī)數(shù)* @param {*} config */
export const replayDefence = (config) => {if (urlRandom && config.url) {const nonce = Math.floor(Math.random() * 1000000)config.params = {_t: Date.parse(new Date()),nonce,...config.params}}
}/*** 報文加密,這里使用base64代替加密,你可以替換成SM4加密* @param {*} config */
export const encryptRequest = (config) => {if (SM4Rncrypt && config.url && config.data) {if (['post', 'put', 'delete'].includes(config.method)) {config.headers["Content-Type"] = "application/json";let jsonStr = JSON.stringify(config.data);config.data = btoa(jsonStr);}}
}/*** 防篡改,這里是btoa(url+params+btoa(data)),你可以再加鹽* @param {*} config */
export const distortDefence = (config) => {if (tampering && config.url) {let validCode = `${config.url}`if (config.params) {for (let key in config.params) {validCode += `&${key}=${config.params[key]}`}}if (config.data && config.method != 'get') {validCode += SM4Rncrypt ? config.data : JSON.stringify(config.data);}console.log('validCode:', validCode)config.headers["sign"] = btoa(validCode)}
}
3、api/index.js

這里文件首頁

import HttpRequest from "./request";const axios = new HttpRequest()export default axios

二、測試方法

編寫文檔和示例:為你的工具方法編寫清晰的文檔和示例,這有助于其他開發(fā)者理解和使用你的工具庫。

1、api/axios.js

這個是使用時的文件?,F(xiàn)在測試用

import axios from "./index";const baseURL = "";//手機(jī)號歸屬地查詢
export const getPhone = (params) => axios.post(baseURL + '/v2/phone', params)//歷史上的今天
export const getHistory = (params) => axios.post(baseURL + '/v2/history', params)// Bing每日壁紙
export const getBing = (params) => axios.post(baseURL + '/v2/bing', params)// 用戶IP信息
export const getIp = (params) => axios.post(baseURL + '/v2/getip', params)//隨機(jī)顏色
export const getColor = (params) => axios.get(baseURL + '/v2/color', params)
2、main.js

這個是使用時的文件?,F(xiàn)在測試用

import * as api from './api/axios'
Vue.prototype.$apis = api
3、app.vue

這個是使用時的文件。現(xiàn)在測試用

console.log(this.$apis)this.$apis.getPhone({ tel: 13225750729 }).then(res => {console.log(res.data)})this.$apis.getHistory({}).then(res => {console.log(res.data)})this.$apis.getIp({}).then(res => {console.log(res.data)})this.$apis.getColor({}).then(res => {console.log(res.data)})
4、vue.config.js

配置代理

module.exports = {productionSourceMap: false,devServer: {proxy: 'https://tenapi.cn/'}
}
5、index.html

首頁添加全局變量配置信息

window._CONFIG = {urlRandom: true, //防重放tampering: true, //防篡改SM4Rncrypt: false, //報文加密timeout: 10000 //超時時間
}

三、打包

1、配置package.json

添加打包到庫命令

{"scripts": {"plugin": "vue-cli-service build --target lib --name zouAxion --dest zouAxion src/api/index.js"},
}
2、生成庫包

打包工具庫:運行打包命令,將你的工具庫打包成一個npm包。這通常會在你的項目根目錄下生成一個目錄,其中包含打包后的文件。

npm run plugin

這是生成的zouAxion文件夾。

在這里插入圖片描述

3、配置發(fā)布信息

配置package.json:在項目的根目錄下創(chuàng)建一個package.json文件,并配置相關(guān)的元信息,例如包的名稱、版本、描述、入口文件等。確保你的包名在npm上是唯一的,尤其是如果你打算將它發(fā)布到公共npm倉庫。

注意:如果你的npm倉庫是私有的,你可能需要在package.json中添加一個publishConfig字段來指定你的私有倉庫地址。

在zouAxion文件夾里面創(chuàng)建package.json文件,配置發(fā)布信息。

{"name": "zou-axion","version": "0.1.2","private": false,"license": "MIT","description": "今天我發(fā)布一個zouAxion插件","main": "zouAxion.umd.min.js","scripts": {},"dependencies": {},"devDependencies": {}}

在這里插入圖片描述

4、發(fā)布
  • 配置npm倉庫:如果你還沒有一個私有的npm倉庫,你需要先搭建一個。你可以使用Verdaccio等工具來快速搭建一個私有的npm倉庫。

  • 配置npm源:在你的本地開發(fā)環(huán)境中,將npm的源配置為你的私有倉庫地址。這可以確保當(dāng)你發(fā)布組件庫時,它會被上傳到你的私有倉庫而不是公共的npm倉庫。

  • 登錄到npm倉庫:在終端中運行npm login命令,并按照提示輸入你的npm倉庫的用戶名、密碼和郵箱地址。這將使你能夠發(fā)布包到你的私有倉庫。

  • 發(fā)布工具庫:在終端中運行npm publish命令來發(fā)布你的工具庫。這會將你的工具庫上傳到你的私有npm倉庫中。

配置npm源

npm set registry http://localhost:4873/

在zouAxion文件夾里面執(zhí)行發(fā)布命令

npm publish

在這里插入圖片描述

四、使用

一旦你的工具庫被發(fā)布到私有npm倉庫,你就可以在其他項目中使用它了。只需在項目中使用npm install命令來安裝你的工具庫,然后按照文檔中的說明來使用它即可。

跟使用axios的方法一樣。

1、安裝
npm install axios
npm install zou-axios

在這里插入圖片描述

2、使用

api/axios.js

import axios from "zou-axios";
const baseURL = "";
//歷史上的今天
export const getHistory = (params) => axios.post(baseURL + '/v2/history', params)

main.js

import * as api from './api/axios'
Vue.prototype.$apis = api

app.vue

this.$apis.getHistory({}).then(res => {console.log(res.data)
})

五、維護(hù)

1、維護(hù)和更新

隨著項目的進(jìn)行,你可能需要對你的工具庫進(jìn)行維護(hù)和更新。這包括修復(fù)bug、添加新功能、更新文檔等。在每次更新后,記得重新打包并發(fā)布你的工具庫,以便其他項目能夠使用到最新的版本。

2、注意事項
  • 版本控制:確保你的工具庫使用版本控制(如Git),以便你可以追蹤和管理不同版本的代碼。

  • 測試:在發(fā)布工具庫之前,確保進(jìn)行充分的測試,以確保其穩(wěn)定性和可用性。

  • 文檔和示例:持續(xù)更新和維護(hù)你的文檔和示例,以幫助其他開發(fā)者更好地理解和使用你的工具庫。

  • 記得在開發(fā)過程中保持代碼質(zhì)量和可維護(hù)性,并定期更新和維護(hù)你的組件庫。

http://www.risenshineclean.com/news/52175.html

相關(guān)文章:

  • 網(wǎng)站展示型推廣北京網(wǎng)絡(luò)推廣有哪些公司
  • 給網(wǎng)站做壓力測試全國新冠疫苗接種率
  • 建站公司見客戶沒話說b2b商務(wù)平臺
  • 衡水建網(wǎng)站百度搜索風(fēng)云排行榜
  • 網(wǎng)站商城如何獲取流量成都網(wǎng)絡(luò)營銷推廣
  • 做行業(yè)分析的網(wǎng)站百度指數(shù)網(wǎng)址是什么
  • 論壇建站哪個比較好廣點通投放平臺
  • 谷歌瀏覽器怎么刪除2345網(wǎng)址導(dǎo)航百度產(chǎn)品優(yōu)化排名軟件
  • 免費瀏覽的網(wǎng)站資源平臺
  • 簡單做網(wǎng)站百度外鏈查詢工具
  • 廣安網(wǎng)站seoweb前端培訓(xùn)費用大概多少
  • 企業(yè)所得稅一般交多少谷歌廣告優(yōu)化師
  • 什么是網(wǎng)站死鏈鄭州網(wǎng)絡(luò)推廣
  • 多個網(wǎng)站 備案我的百度賬號
  • 深圳網(wǎng)站建設(shè)定制sem是什么工作
  • 承德做網(wǎng)站優(yōu)化免費二級域名申請網(wǎng)站
  • 網(wǎng)站建設(shè)課程學(xué)習(xí)百度推廣中心
  • wordpress 406優(yōu)化關(guān)鍵詞排名
  • 制作網(wǎng)站協(xié)議公司市場營銷策劃方案
  • 請人做網(wǎng)站合同網(wǎng)址信息查詢
  • 做二手房網(wǎng)站有哪些百度禁止seo推廣
  • 開發(fā)安卓應(yīng)用上海優(yōu)化seo排名
  • 詳情頁設(shè)計排版電商網(wǎng)站怎樣優(yōu)化
  • 西寧網(wǎng)站運營公司今日熱點新聞2022
  • 怎樣做網(wǎng)站國外建站系統(tǒng)
  • 手機(jī)網(wǎng)站跳轉(zhuǎn)怎么做seo排名啥意思
  • 動態(tài)網(wǎng)站開發(fā)的主要技術(shù)百度推廣計劃
  • 如何做攝影網(wǎng)站今日十大熱點新聞
  • 可信網(wǎng)站申請賣友情鏈接的哪來那么多網(wǎng)站
  • 網(wǎng)頁版微信二維碼登錄怎么實現(xiàn)榆林seo