精通Webpack搭建Vue2.0項目腳手架指南

本文還有配套的精品資源,點擊獲取 menu-r.4af5f7ec.gif

簡介:在Web應用程序開發中,Vue 2.0因其虛擬DOM、單文件組件、增強的生命周期鉤子和Vuex及Vue Router狀態管理與路由解決方案,成為了提高開發效率和代碼組織性的關鍵。Webpack作為必不可少的模塊打包工具,其在Vue項目中的應用包括處理單文件組件、CSS預處理器、圖片和字體等資源。文章將詳細介紹如何利用Webpack來搭建一個Vue 2.0的腳手架項目,涵蓋安裝依賴、創建項目、配置選擇、啟動開發服務器、編寫代碼、構建生產版本以及優化Webpack配置等關鍵步驟,讓開發者能迅速上手并定制自己的Vue項目。
基于webpack搭建vue2.0的腳手架項目

1. Vue 2.0核心特性介紹

1.1 Vue.js簡介

Vue.js 是一個用于構建用戶界面的漸進式JavaScript框架。它在2014年由前谷歌工程師尤雨溪創建,以簡單易用和靈活高效著稱,專注于視圖層,易于上手且與現有項目集成無縫。Vue的核心庫只關注視圖層,易于學習,同時也可通過插件機制擴展至更豐富的功能。

1.2 雙向數據綁定

Vue.js 最具代表性的特性之一是其響應式的雙向數據綁定。通過使用 v-model 指令在表單元素上創建雙向數據綁定,可以極大地簡化表單輸入和應用狀態之間的同步問題。這種數據綁定機制通過使用 Object.defineProperty 來實現,并且在Vue 2.0中通過虛擬DOM技術進行了優化。

1.3 組件化

組件化是Vue.js中非常重要的一個概念。Vue鼓勵開發者通過建立獨立、可復用的組件來構建大型應用,這些組件可以通過屬性(props)、事件、插槽和自定義指令等機制相互通信。在Vue 2.0中,單文件組件(.vue文件)的概念讓組件的組織和管理變得更加方便。

2. Webpack功能概述與核心特性

在深入了解Webpack如何與Vue 2.0整合之前,我們需要先掌握Webpack的基礎知識及其核心特性。Webpack是一個現代JavaScript應用程序的靜態模塊打包器(module bundler),它在應用程序中,尤其是單頁應用程序(SPA)中扮演著至關重要的角色。

2.1 Webpack的基本概念和工作原理

2.1.1 模塊打包工具的定義

在傳統的瀏覽器端JavaScript開發中,我們經常會面臨各種各樣的問題,如依賴管理、模塊合并、代碼壓縮優化等。模塊打包工具應運而生,解決了這些問題。Webpack通過一個入口文件,遞歸地構建一個依賴關系圖,然后將所有依賴打包到少量的靜態文件中。

2.1.2 Webpack的打包流程解析

Webpack的打包流程大致可以分為以下幾個步驟:

  1. 初始化 :讀取配置文件,初始化Compiler對象。
  2. 構建依賴圖 :從入口文件開始,根據其依賴關系遞歸地解析入口文件。
  3. 模塊轉換 :對于每個依賴模塊,Webpack會通過配置好的Loader進行轉換。
  4. 生成 Chunk :將模塊打包到一個或多個Chunk中。
  5. 輸出 :將Chunk寫入到輸出文件。

Webpack采用了高度可配置的方式,可以通過不同的Loader和Plugin來處理各種類型的資源,如JavaScript、圖片、CSS等。

2.2 Webpack的核心特性分析

Webpack的出現極大地簡化了前端開發流程,它的核心特性包括但不限于以下幾個方面:

2.2.1 模塊化管理和加載機制

Webpack的最核心特性之一是它對模塊化的支持。它支持CommonJS、AMD、ES6等模塊化規范。Webpack將這些規范中的模塊轉化為瀏覽器能夠理解的代碼。

2.2.2 代碼分割與按需加載

隨著應用的體積增長,一次性加載全部資源變得低效。Webpack的代碼分割功能可以將代碼庫分割成多個文件,只有在需要的時候才加載相應的模塊。這對于實現按需加載至關重要。

2.2.3 生態系統與擴展性

Webpack擁有龐大的生態系統,支持各種類型的插件和加載器。例如,你可以安裝 html-webpack-plugin 來處理HTML文件,或者 clean-webpack-plugin 來清理構建目錄。

下面是一個簡單的Webpack配置文件示例,展示如何設置入口和出口:

const path = require('path');module.exports = {entry: './src/index.js', // 入口文件路徑output: {path: path.resolve(__dirname, 'dist'), // 輸出目錄的絕對路徑filename: 'bundle.js' // 輸出文件的名稱},// ...
};

這里, entry 指定了應用的入口點,而 output 定義了打包后的文件將輸出到哪里,以及輸出文件的名稱。 path 模塊用于處理文件和目錄路徑, __dirname 是當前執行文件所在的目錄路徑。

Webpack的配置文件是一個強大的工具,你可以通過它來定義各種行為,例如:

  • 使用Loader處理特定類型文件的加載和轉換。
  • 應用各種插件來優化打包過程和結果。
  • 設置開發服務器配置以支持熱更新和模塊熱替換。

通過本章的介紹,我們對Webpack的工作原理和核心特性有了一個基礎的認識。下一章我們將探討Webpack與Vue 2.0整合的重要性,以及它在Vue項目構建中所扮演的角色。

3. Vue 2.0與Webpack整合的重要性

在現代前端開發中,Vue.js作為流行的JavaScript框架之一,其易用性和靈活性吸引了大量開發者。Webpack作為模塊打包工具,它優化了資源的組織和構建過程。整合Vue 2.0與Webpack不僅可以提升開發體驗,還能增強項目的構建效率和運行時的性能。在深入探討這一主題之前,我們首先需要了解Webpack在Vue 2.0項目構建中的作用及其實踐意義。

3.1 Vue 2.0項目構建中的Webpack角色

3.1.1 Webpack與Vue單文件組件的結合

Vue 2.0引入了單文件組件(Single File Components)的概念,允許開發者在一個 .vue 文件中包含模板(template)、腳本(script)和樣式(style)。Webpack能夠解析這些特殊的文件,并將它們轉換成可以在瀏覽器中運行的JavaScript代碼。Webpack的核心在于其加載器(loaders)和插件(plugins)系統,它們使得Webpack可以處理包括 .vue 文件在內的各種資源。

要讓Webpack能夠處理 .vue 文件,我們需要使用一個專門的加載器 vue-loader vue-loader 會解析 .vue 文件,并對其中的模板、腳本和樣式進行相應的處理。例如,模板會被轉換為JavaScript的渲染函數,腳本會經過Babel或其他JavaScript預處理器轉換,而樣式則可以被處理成各種形式,如內聯樣式、CSS文件或預處理器(如Sass、Less)樣式。

// webpack.config.js
module.exports = {// ...module: {rules: [// 其他規則...{test: /\.vue$/,loader: 'vue-loader'},// 處理JavaScript的規則...{test: /\.js$/,loader: 'babel-loader'},// 處理CSS的規則...{test: /\.css$/,use: ['style-loader', 'css-loader']}]},// ...
};

在上面的Webpack配置示例中,我們指定了三個重要的加載器: vue-loader 用于處理 .vue 文件, babel-loader 用于處理JavaScript文件的轉譯,而 style-loader css-loader 則用于處理CSS文件。

3.1.2 Webpack在Vue項目中的作用

Webpack在Vue項目中的作用不僅僅是打包資源,它還提供了一系列優化項目的工具和方法。通過Webpack,我們可以:

  • 模塊化開發 :將代碼分割成模塊,并且可以按需加載,提高代碼的組織性和可維護性。
  • 代碼優化 :通過壓縮、丑化、樹搖(Tree Shaking)等手段減小包的體積。
  • 支持現代JavaScript特性 :利用Babel等工具將ES6+的語法轉換為低版本瀏覽器也能識別的代碼。
  • 熱更新(HMR) :在開發過程中,自動更新已更改的模塊而不必重新加載整個頁面。
  • 靜態資源處理 :加載圖片、字體等靜態資源,提供如文件指紋(file fingerprinting)等功能。
// 使用vue-cli創建的Webpack配置示例中,開啟HMR的部分
devServer: {hot: true,
},
plugins: [new webpack.HotModuleReplacementPlugin(),
],

上述配置展示了如何在Webpack配置中啟用熱模塊替換(HMR),以便開發者在修改代碼時能夠快速看到結果,而不必完全刷新頁面。

3.2 整合Vue與Webpack的實踐意義

3.2.1 提高開發效率

整合Vue與Webpack后,開發者可以利用Vue的響應式系統和組件化開發的優勢,同時享受Webpack提供的模塊化打包和開發服務器功能。這樣,開發人員可以在一個一致的環境中工作,減少了配置的復雜度,提高了開發效率。此外,Webpack強大的加載器和插件生態系統,為開發過程提供了額外的工具和優化手段。

3.2.2 優化項目構建與部署流程

整合Vue與Webpack使得整個項目的構建和部署過程更加高效和可控。通過自定義Webpack配置,開發者可以針對不同的環境(如開發環境、測試環境和生產環境)進行優化。例如,可以配置不同的插件和加載器來壓縮代碼、提取公共模塊、生成文件指紋等。這樣的自動化構建流程,減少了手動操作,降低了出錯的可能性,同時也使得構建產物更加優化。

在本章節中,我們探討了Vue 2.0項目中Webpack的角色和作用,以及它對于提升開發效率和優化構建流程的重要性。接下來,在第四章中,我們將進一步深入了解如何使用Vue CLI搭建基礎項目,并手動搭建腳手架項目的方法,確保讀者能夠掌握從零開始構建Vue項目的每一個細節。

4. 搭建Vue 2.0腳手架項目步驟詳解

4.1 使用Vue CLI搭建基礎項目

4.1.1 Vue CLI工具的介紹和安裝

Vue CLI 是一個基于 Vue.js 進行快速開發的完整系統,它提供了一系列的命令行工具來幫助開發者快速搭建、開發和構建Vue項目。Vue CLI的出現極大地簡化了基于Vue.js的項目創建和管理過程。

安裝Vue CLI非常簡單,打開終端或命令提示符,輸入以下命令進行安裝:

npm install -g @vue/cli

或者如果你使用的是Yarn,可以使用以下命令:

yarn global add @vue/cli

安裝完成后,檢查Vue CLI是否安裝成功,可以通過執行以下命令:

vue --version

這個命令會打印出當前安裝的Vue CLI的版本號。如果安裝成功,現在你已經可以使用Vue CLI來創建一個新的Vue項目了。

4.1.2 初始化Vue項目的基本流程

使用Vue CLI創建一個新的Vue項目是非常直接的。只需簡單執行以下命令:

vue create project-name

這里的 project-name 是你的項目名稱,你可以根據自己的項目需求隨意命名。

這個命令會啟動一個交互式命令行界面,提示你選擇預設配置或手動配置你的項目。選擇預設配置可以快速創建一個項目,而手動配置則允許你更細致地選擇插件和配置項。

? Please pick a preset: (Use arrow keys)Manually select features
> Default ([Vue 2] babel, eslint)BabelTypeScript + lint

創建項目后,Vue CLI會自動初始化項目并安裝所需的依賴。完成后,你可以通過以下命令進入項目目錄,并啟動項目:

cd project-name
npm run serve

或者如果你使用的是Yarn,可以使用以下命令:

yarn serve

npm run serve 命令將啟動一個開發服務器,你可以在瀏覽器中訪問 http://localhost:8080 查看你的應用。

4.2 手動搭建腳手架項目的方法

4.2.1 配置Webpack基礎

盡管Vue CLI已經為我們提供了一個很好的起點,但在某些情況下,你可能需要手動配置Webpack。這涉及到修改Webpack的配置文件 webpack.config.js

一個基礎的Webpack配置文件通常包括以下幾個核心部分:

  • 入口( entry ):指定Webpack應該使用哪個模塊,來作為構建其內部依賴圖的開始。
  • 出口( output ):告訴Webpack在哪里輸出它所創建的 bundles,以及如何命名這些文件。
  • 加載器( loaders ):讓Webpack能夠處理非JavaScript文件。
  • 插件( plugins ):執行范圍更廣的任務,如打包優化、資源管理和環境變量注入等。

下面是一個簡單的 webpack.config.js 示例:

const path = require('path');module.exports = {entry: './src/main.js',output: {path: path.resolve(__dirname, 'dist'),filename: 'bundle.js'},module: {rules: [{test: /\.vue$/,loader: 'vue-loader'},{test: /\.js$/,exclude: /node_modules/,loader: 'babel-loader'}]},plugins: [// ...]
};

4.2.2 集成Vue框架和路由管理

對于Vue項目來說,Vue和Vue Router是不可或缺的。在手動搭建項目時,你需要手動安裝這些依賴并配置它們。

首先,安裝Vue和Vue Router:

npm install vue vue-router

然后,在 src 目錄下創建 main.js 作為應用的入口文件,并配置Vue實例和路由:

import Vue from 'vue'
import App from './App.vue'
import router from './router'new Vue({router,render: h => h(App)
}).$mount('#app')

接著,在 src 目錄下創建 App.vue 作為根組件,以及 router 目錄來配置路由:

// router/index.js
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/Home.vue'Vue.use(VueRouter)const routes = [{path: '/',name: 'Home',component: Home},// ... 其他路由配置
]const router = new VueRouter({routes
})export default router

此時,項目的基本結構已經搭建完成,你可以繼續添加更多的頁面、組件和路由,構建完整的Vue應用。接下來,你還可以通過添加Webpack loader和plugin來擴展你的項目配置,例如使用 vue-loader 來加載 .vue 單文件組件,使用 eslint-loader 進行代碼檢查等。

5. Webpack配置文件的重要性與自定義

5.1 探索Webpack配置文件的結構和作用

5.1.1 webpack.config.js文件解析

Webpack配置文件是整個構建系統的核心,它負責定義Webpack的行為。一個典型的 webpack.config.js 文件包含以下幾個關鍵部分:

const path = require('path');module.exports = {mode: 'development',entry: './src/index.js',output: {path: path.resolve(__dirname, 'dist'),filename: 'bundle.js'},// ... 其他配置
};
  • mode : 定義構建模式,可以是 'development' 'production' 'none' 。不同模式會啟用Webpack不同的內置優化。
  • entry : 指定項目的入口文件,Webpack將從這個文件開始進行依賴圖的構建。
  • output : 定義輸出配置,其中 path 指定文件輸出的目錄, filename 定義輸出文件的名稱。

5.1.2 環境變量與模式配置

Webpack允許開發者通過 --env 參數在命令行中設置環境變量,并在 webpack.config.js 中訪問這些變量。例如:

module.exports = (env, argv) => {const isProduction = argv.mode === 'production';// 根據環境變量進行不同的配置return {// 配置內容};
};

通過這種方式,可以根據環境變量來調整構建過程,如在生產環境中進行代碼壓縮,在開發環境中啟用源碼映射等。

5.2 自定義Webpack配置以適應項目需求

5.2.1 調整入口和出口配置

對于復雜的項目結構,可能需要從多個文件或目錄開始構建,這時可以通過數組來設置多個入口點:

module.exports = {entry: {app: './src/app.js',vendor: './src/vendor.js'},output: {path: path.resolve(__dirname, 'dist'),filename: '[name].bundle.js'},// ... 其他配置
};

同時,出口配置中可以使用占位符如 [name] 來動態生成文件名,這在多入口配置中非常有用。

5.2.2 加載器和插件的個性化配置

Webpack的強大之處在于其豐富的插件系統和加載器(loaders)。加載器允許Webpack對模塊源碼進行轉換,而插件則可以用于執行范圍更廣的任務,比如打包優化、資源管理和環境變量注入。

例如,使用 babel-loader 來轉換ES6代碼:

module.exports = {module: {rules: [{test: /\.js$/,exclude: /node_modules/,use: {loader: 'babel-loader'}}]},plugins: [// 插件數組]
};

在這個例子中, test 正則表達式用于匹配項目中所有的 .js 文件(除了 node_modules 目錄中的), use 對象指定了需要使用的加載器 babel-loader 。通過這種方式,可以將ES6代碼轉換為大多數瀏覽器都能識別的ES5代碼。

加載器和插件可以根據項目需求進行詳細配置。例如, babel-loader 的配置中可以指定 .babelrc 配置文件,而插件如 HtmlWebpackPlugin 則可以配置如何生成HTML文件。

自定義Webpack配置是一個深入理解和掌握Webpack過程的關鍵步驟。理解基本的配置結構和作用,能夠調整和優化這些配置,對于任何前端開發者來說都是必備技能。通過本章節的介紹,我們已經對Webpack配置有了較為全面的了解,接下來將深入探討開發與生產環境配置的區別及優化。

6. 開發與生產環境配置的區別及優化

在現代的Web應用開發中,區分開發環境(development)和生產環境(production)是常見的做法。開發環境注重于開發者的便利性,允許快速迭代與調試;而生產環境則更重視性能和安全性。了解這兩者的配置差異及其優化對于構建高效的項目至關重要。

6.1 開發環境與生產環境的配置差異

6.1.1 模塊熱替換(Hot Module Replacement)的配置

模塊熱替換是開發環境中非常有用的特性,它允許在不重新加載整個頁面的情況下替換、添加或刪除模塊,從而加快開發過程。Webpack通過HotModuleReplacementPlugin來實現此功能。

配置HMR的一個基本示例代碼如下:

// webpack.config.js
const webpack = require('webpack');module.exports = {// ...devServer: {hot: true,// 啟用熱模塊替換hotOnly: true},plugins: [// ...new webpack.HotModuleReplacementPlugin() // 啟用HMR的插件]
};

請注意,當使用Vue CLI創建項目時,HMR通常默認被啟用。

6.1.2 代碼壓縮與優化策略

生產環境要求最小化資源體積以提升加載速度。Webpack提供了UglifyJsPlugin來壓縮JavaScript代碼,而TerserPlugin是一個更現代的選擇。對于CSS,cssnano是一個常用的選擇。

一個簡單的代碼壓縮配置示例:

// webpack.config.js
module.exports = {// ...optimization: {minimizer: [new TerserPlugin({// Terser插件配置}),new OptimizeCSSAssetsPlugin({// CSS資產優化配置}),],},
};

在Vue CLI中,代碼壓縮默認啟用。

6.2 Webpack加載器與插件的角色和配置

6.2.1 加載器在開發與生產環境中的應用

加載器(loaders)用于在不同類型的文件被添加到依賴圖中之前對其進行處理。它們在開發和生產環境中扮演不同的角色。

在開發環境中,加載器通常用于提供源碼映射(source maps),這樣調試更便捷。而在生產環境中,它們更多地用于壓縮文件,減少體積。

一個典型的開發環境下的加載器配置示例:

// webpack.config.js
module.exports = {// ...module: {rules: [{test: /\.js$/,exclude: /node_modules/,use: {loader: 'babel-loader',options: {presets: ['@babel/preset-env'],plugins: ['@babel/plugin-proposal-object-rest-spread'],},},},],},
};

此配置使用babel-loader來轉換ES6+代碼,以便在不支持最新JavaScript特性的瀏覽器上運行。

6.2.2 插件的使用場景與配置方法

插件(plugins)提供了Webpack打包過程中的高級功能,比如:捆綁優化、資源管理和環境變量注入。開發與生產環境均需要合理配置。

舉個例子,HtmlWebpackPlugin可以幫助我們管理HTML文件,并在構建時注入CSS和JavaScript文件。

一個插件配置示例:

// webpack.config.js
const HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = {// ...plugins: [new HtmlWebpackPlugin({template: './src/index.html', // 指定模板文件filename: 'index.html', // 輸出文件的名稱}),],
};

這個插件會自動生成一個HTML文件,并自動引入打包后的JavaScript文件。

6.3 性能優化的實踐技巧

6.3.1 分析和解決構建性能瓶頸

構建性能是衡量Webpack配置效率的重要指標。Webpack 4引入了一個新的模式 production ,它包含了許多針對生產環境的內置優化。然而,對于大型項目而言,還是可能遇到性能瓶頸。

為了優化構建性能,我們可以分析各個插件和加載器的耗時,使用 speed-measure-webpack-plugin 插件來識別性能瓶頸:

// webpack.config.js
const SpeedMeasurePlugin = require('speed-measure-webpack-plugin');const smp = new SpeedMeasurePlugin();module.exports = smp.wrap({// ...
});

6.3.2 長效緩存和CDN加速的應用

為了進一步提升性能,我們可以利用長效緩存(Long Term Caching)策略和CDN加速。這意味著給文件名添加哈希值,以避免瀏覽器緩存破壞更新。

對于CDN加速,我們需要在Webpack配置中,使用 publicPath 指向CDN服務器:

// webpack.config.js
module.exports = {// ...output: {filename: '[name].[contenthash].js',path: path.resolve(__dirname, 'dist'),publicPath: 'https://cdn.example.com/assets/',},
};

上述配置會在構建輸出的文件名中添加基于內容的哈希值,并通過CDN來分發這些資源。

通過以上步驟,我們可以確保在不同的環境配置中,應用具備適當的性能表現和優化措施。

本文還有配套的精品資源,點擊獲取 menu-r.4af5f7ec.gif

簡介:在Web應用程序開發中,Vue 2.0因其虛擬DOM、單文件組件、增強的生命周期鉤子和Vuex及Vue Router狀態管理與路由解決方案,成為了提高開發效率和代碼組織性的關鍵。Webpack作為必不可少的模塊打包工具,其在Vue項目中的應用包括處理單文件組件、CSS預處理器、圖片和字體等資源。文章將詳細介紹如何利用Webpack來搭建一個Vue 2.0的腳手架項目,涵蓋安裝依賴、創建項目、配置選擇、啟動開發服務器、編寫代碼、構建生產版本以及優化Webpack配置等關鍵步驟,讓開發者能迅速上手并定制自己的Vue項目。


本文還有配套的精品資源,點擊獲取
menu-r.4af5f7ec.gif

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92012.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92012.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92012.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

無償分享120套開源數據可視化大屏H5模板

數據可視化跨越了語言、技術和專業的邊界,是能夠推動實現跨界溝通,實現國際間跨行業的創新的工具。正如畫家用顏料表達自我,作者用文字講述故事,而統計人員用數字溝通 ...... 同樣,數據可視化的核心還是傳達信息。而設…

Qt按鍵響應

信號與槽機制是一個非常強大的事件通信機制,是 Qt 最核心的機制之一,初學者掌握它之后,幾乎可以做任何交互操作。信號(Signal) 是一種“事件”或“通知”,比如按鈕被點擊、文本改變、窗口關閉等。 槽&#…

【Git】常見命令整理

Git分區與操作關系:Working Directory(工作區,對于本地的編輯和修改在此進行)->Staging Area(暫存區/Index,在工作區進行git add操作后的位置)->Git Repository(本地倉庫&…

Linux-Shell腳本基礎用法

1.變量定義變量命名規則:可以包含字母,數字,下劃線,首字母不能用數字開頭,中間不能又空格;為變量賦值等號之間不能為空格;變量命名不能使用標點符號,不能使用bash的關鍵字&#xff1…

JS中的Map和WeakMap區別和聯系

JavaScript 中 Map 與 WeakMap 的區別、聯系及示例核心區別特性MapWeakMap鍵的類型允許任意類型的鍵(對象、原始值)鍵必須是對象(非原始值)垃圾回收強引用鍵 → 阻止垃圾回收弱引用鍵 → 不影響垃圾回收可遍歷性支持遍歷&#xff…

Linux 環境 libpq加載異常導致psql 連接 PostgreSQL 庫失敗失敗案例

文章目錄局點現象定位結論局點環境補充知識點如下庫文件加載順序關鍵事實:您系統中的證據:優先級對比表:解決方案強化:最終檢查:本局點解決方法局點現象 數據庫 mdm 升級失敗檢查日志, 發現是由于 psql 連接數據庫報錯…

C# XML 文件

在 C# 中處理 XML 文件是非常常見的操作,可以使用System.Xml命名空間中的類來實現。以下是一些常用的 XML 操作示例: 手冊鏈接: System.Xml 命名空間 XmlDocument 創建一個xml數據格式的文檔 XmlDocument xml new XmlDocument(); Xml…

LOVON——面向足式Open-Vocabulary的物體導航:LLM做任務分解、YOLO11做目標檢測,最后L2MM將指令和視覺映射為動作(且解決動態模糊)

前言 因為項目需要(比如我們在做的兩個展廳講解訂單),近期我一直在研究VLN相關,有些工作哪怕暫時還沒開源(將來可能會開源),但也依然會解讀,比如好處之一是構建完整的VLN知識體系,本文便是其中一例 我在解讀過程中&am…

【Django】-3- 處理HTTP響應

HttpResponse 家族” 的常用操作🌟1. 設置狀態碼 👋狀態碼是服務器告訴客戶端 “請求處理結果” 的數字暗號(比如 404 表示 “沒找到頁面”)。Django 里有 3 種設置方式:方式 1:直接寫數字(簡單…

《React Router深解:復雜路由場景下的性能優化與導航流暢性構建》

路由系統是連接用戶操作與應用功能的中樞神經,而React Router作為React生態中處理路由邏輯的核心工具,其在復雜應用中的表現直接決定著用戶體驗的優劣。當應用規模擴張至數十甚至上百個路由,嵌套層級跨越多層,導航控制中的性能問題便會逐漸凸顯——從首屏加載的延遲到路由切…

網絡與信息安全有哪些崗位:(4)應急響應工程師

想知道網絡與信息安全領域有哪些具體崗位嗎? 網絡與信息安全有哪些崗位:(1)網絡安全工程師-CSDN博客 網絡與信息安全有哪些崗位:(2)滲透測試工程師_網絡安全滲透工程師-CSDN博客 網絡與信息安…

Leetcode 3634. Minimum Removals to Balance Array

Leetcode 3634. Minimum Removals to Balance Array 1. 解題思路2. 代碼實現 題目鏈接:3634. Minimum Removals to Balance Array 1. 解題思路 這一題思路上就是一個滑動窗口的思路。 我們首先將整個數組有序排列,然后分別從左向右考察每一個元素作為…

C#/.NET/.NET Core優秀項目和框架2025年7月簡報

前言 每月定期推廣和分享的C#/.NET/.NET Core優秀項目和框架(每周至少會推薦兩個優秀的項目和框架當然節假日除外),推文中有項目和框架的詳細介紹、功能特點、使用方式以及部分功能截圖等。注意:排名不分先后,都是十分…

第 10 篇:深度學習的“軍火庫”——CNN、RNN與Transformer,AI如何看懂世界?

《人工智能AI之機器學習基石》系列⑩ 專欄核心理念: 用通俗語言講清楚機器學習的核心原理,強調“洞察 + 技術理解 + 應用連接”,構建一個完整的、富有啟發性的知識體系。 引

深度學習—功能性函數代碼 common.py

函數:返回GPU def try_gpu(i0): #save"""如果存在,則返回gpu(i),否則返回cpu()"""if torch.cuda.device_count() > i 1: # 如果存在第 i 個 GPUreturn torch.device(fcuda:{i}) # 返回第 i 個 GPU 設…

南太平洋金融基建革命:斐濟-巴新交易所聯盟的技術破局之路 ——從關稅動蕩到離岸紅利,跨境科技如何重塑太平洋資本生態

一、今日焦點:全球關稅震蕩與南太平洋的“技術聯盟”機遇 1. 特朗普關稅大限引爆亞太市場波動,小經濟體承壓尋路 2025年8月1日,特朗普正式簽署行政令,對多國征收10%-41%的“對等關稅”。韓國首當其沖,綜合指數暴跌近4%…

python爬取豆瓣電影評論通用代碼

最近在自學python爬蟲,今天閑來無事,爬了一下豆瓣數據 這個網站對于初學者來說還是很友好的注意:有python環境的朋友運行的時候,要把cookie換成自己的 通用性:可以自己換不同的電影id進行數據爬取 Tip:slee…

構建屬于自己的第一個 MCP 服務器:初學者教程

為什么需要 MCP 服務器? 你是否遇到過這樣的場景:向 AI 助手(比如 GitHub Copilot)詢問 “北京今天的天氣”,得到的回復卻是 “我無法訪問實時天氣數據”? 這是因為大多數 AI 模型本身 “與世隔絕”—— 它…

個人項目介紹:語音識別小助手

一、項目內容 基于STM32F103RCT6制作了一款集語音識別、按鍵控制、信息顯示、溫濕度監測等多功能于一體的智能設備,滿足多樣化的交互需求。 二、個人工作內容 依據項目需求,選定 STM32F103RCT6 單片機、SU-03T語音識別模組、AHT25 溫濕度傳感器等核心元件…

【Django】-1- 開發項目搭建

一、PDM Django 搭建項目👇🎯 核心目標用 PDM(更現代的 Python 包管理工具),快速創建并管理 Django 項目(Web 框架),讓開發流程更絲滑?🧩 分步拆解1. 創建項目用 PDM 初…