国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue3 webpack打包流程及安裝 (1)

這篇具有很好參考價(jià)值的文章主要介紹了vue3 webpack打包流程及安裝 (1)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

?npm run build 也可以打包 如果沒有特殊需求 可以使用 效果其實(shí)是差不多的

vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

---------------------------------------------------------------------------------------------------------------------------------

webpack網(wǎng)址 :?起步 | webpack 中文文檔 (docschina.org)

報(bào)錯(cuò)? ??跟著安裝報(bào)錯(cuò)? 后來查了才知道? 是因?yàn)?webpack 版本有問題 安裝的時(shí)候看好

vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

webpack的版本過高? 產(chǎn)生的錯(cuò)誤 需要卸掉從新安裝webpack -v? 查看 版本號(hào)

vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

---------------------------------------------------------------------------------------------------------------------------?

正式開始

第一步,開始復(fù)雜的安裝過程

安裝   安裝報(bào)錯(cuò)的話可以把后邊的  --save-dev  刪掉

npm install webpack webpack-cli --save-dev   //安裝

npm install css-loader style-loader –save-dev  //css

npm install file-loader –save-dev   //loader

npm install html-webpack-plugin --save-dev   //plugin  

npm i less less-loader -D   //less

npm install sass-loader -D    //sass

npm i url-loader file-loader -D  //圖片


在黑窗口中執(zhí)行 命令,查看webapck版本
npm webpack -v

卸載
刪除局部webpack-cli
npm uninstall webpack-cli
刪除全局webpack
npm uninstall -g webpack
刪除本地wbpack
npm uninstall webpack

按你需要的安裝?

vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

第二步 。需要單獨(dú)創(chuàng)建?webpack.config.js 在文件進(jìn)行配置打包的東西(部分)


const path = require('path');
console.log(path.resolve(__dirname, 'dist')) // e:\big ---project\Webpack project\test01\dist

const HTMLPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');

module.exports = {
    mode: "development", //模式:  "production" | "development" | "none"
    entry: './src/index.js', //入口
    output: { // 輸出
        filename: 'main.js', // 打包后的文件名字
        //filename: 'main.[hash].js', // 打包后的文件名字變成帶有哈希值
        //filename: 'main.[hash:8].js', // 文件的哈希值只顯示8位
        path: path.resolve(__dirname, 'dist') // 路徑必須是一個(gè)絕對(duì)路徑,  --dirname:是使用當(dāng)前目錄出生成一個(gè)dist文件夾
    },
    devServer: { // 開發(fā)服務(wù)配置
        port: 3000,
        progress: true, // 是否顯示加載進(jìn)度條
        contentBase: './dist', // 映射地址
        compress: true // 是否壓縮
    },
    plugins: [ // 附加插件
        new HTMLPlugin({  // 打包html文件
            template: './src/index.html', // 模板文件
            filename: 'index.html', // 打包出來的文件名
            minify: {
                removeAttributeQuotes: true, // 刪除html頁面的雙引號(hào)
                collapseWhitespace: true, // 將html頁面壓縮成一行
            },
            hash: true // 將文件打包成哈希包
        }),
        new MiniCssExtractPlugin({  // 打包c(diǎn)ss文件
            filename: "index.css" // 抽離出來的文件名字
        })
    ],
    module: { // 模塊配置
        rules: [ //規(guī)則
            /*  css-loader 解析 @import這種語法
                style-loader 它是將css插入到head的標(biāo)簽中
                loader的執(zhí)行順序是從右向左執(zhí)行
             */
            { // 解析 css文件
                test: /\.css$/,
                use: [
                    MiniCssExtractPlugin.loader,
                    'css-loader',
                    'postcss-loader'
                ]
            },
            // 圖片
            {
                test: /\.(png|jpg|jpeg|gif)$/i,
                type: 'asset',          //小于8k打包成base64,小圖打包進(jìn)js里,可以 減少http請(qǐng)求次數(shù)   但是轉(zhuǎn)成base64字符串會(huì)讓體積增大20%-30%   所以大于8k還是直接打包進(jìn)靜態(tài)資源目錄中
                generator: {
                    filename: 'assets/[hash][ext][query]'
                }
            },
            { // 解析 less文件
                test: /\.less$/,
                use: [
                    MiniCssExtractPlugin.loader,
                    'css-loader',
                    'less-loader',
                    'postcss-loader'
                ]
            },
            { // 解析 scss文件
                test: /\.less$/,
                use: [
                    MiniCssExtractPlugin.loader,
                    'css-loader',
                    "scss-loader",
                    'postcss-loader'
                ]
            }
        ]
    }
};

第三步 ,如果是統(tǒng)一文件入口? 那就需要?jiǎng)?chuàng)建一個(gè) js文件? ?

例如? index.js文件存放代碼 把要打包的都引進(jìn)來?

無論是css? js? 還是html都得是單獨(dú)的文件? 不然 無法進(jìn)行打包

(1) 先創(chuàng)建一個(gè) b.js 和 c.js文件? 把他倆引進(jìn)? index.js文件?

例如 ?b.js 和 c.js文件?

vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

??例如 ?b.js 和 c.js文件? 把他倆引進(jìn)? index.js文件?

vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

??例如 webpack.config.js? ?部署打包機(jī)制

vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

運(yùn)行 webpack -w? ?就可以在dist 查看打包成果?

vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

--------------------------------------------------------------------------------------------------------------------------------

(2.1)? less轉(zhuǎn)換成css?

例如 創(chuàng)建一個(gè)less的文件寫樣式? 然后運(yùn)行就會(huì)得到一個(gè)同步css? webpack內(nèi)容和上邊的一樣

不需要其他的引入之類的?

vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

// 基于commonjs規(guī)范定義配置
module.exports = {
    // 指定環(huán)境
    mode: 'development',
    // 入口
    entry: './src/index.js',
    // 出口
    output: {
        // 指定發(fā)布的文件名稱
        filename: './main.js'
    },
    // 配置module屬性
    module: {
        // 通過rules定義加載機(jī)的規(guī)則
  rules:[
            {
                test:/\.css$/,
                use: ["style-loader", "css-loader", "sass-loader"]
            },
            {
                test: /\.(png|jpg|jpeg|gif)$/i,
                type: 'asset',          //小于8k打包成base64,小圖打包進(jìn)js里,可以 減少http請(qǐng)求次數(shù)   但是轉(zhuǎn)成base64字符串會(huì)讓體積增大20%-30%   所以大于8k還是直接打包進(jìn)靜態(tài)資源目錄中
                generator: {
                  filename: 'assets/[hash][ext][query]'
                }
              }
  

        ]
    }
}


const path = require('path');
console.log(path.resolve(__dirname, 'dist')) // e:\big ---project\Webpack project\test01\dist

const HTMLPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');

module.exports = {
    mode: "development", //模式:  "production" | "development" | "none"
    entry: './src/index.js', //入口
    output: { // 輸出
        filename: 'main.js', // 打包后的文件名字
        //filename: 'main.[hash].js', // 打包后的文件名字變成帶有哈希值
        //filename: 'main.[hash:8].js', // 文件的哈希值只顯示8位
        path: path.resolve(__dirname, 'dist') // 路徑必須是一個(gè)絕對(duì)路徑,  --dirname:是使用當(dāng)前目錄出生成一個(gè)dist文件夾
    },
    devServer: { // 開發(fā)服務(wù)配置
        port: 3000,
        progress: true, // 是否顯示加載進(jìn)度條
        contentBase: './dist', // 映射地址
        compress: true // 是否壓縮
    },
    plugins: [ // 附加插件
        new HTMLPlugin({  // 打包html文件
            template: './src/index.html', // 模板文件
            filename: 'index.html', // 打包出來的文件名
            minify: {
                removeAttributeQuotes: true, // 刪除html頁面的雙引號(hào)
                collapseWhitespace: true, // 將html頁面壓縮成一行
            },
            hash: true // 將文件打包成哈希包
        }),
        new MiniCssExtractPlugin({  // 打包c(diǎn)ss文件
            filename: "index.css" // 抽離出來的文件名字
        })
    ],
    module: { // 模塊配置
        rules: [ //規(guī)則
            /*  css-loader 解析 @import這種語法
                style-loader 它是將css插入到head的標(biāo)簽中
                loader的執(zhí)行順序是從右向左執(zhí)行
             */
            { // 解析 css文件
                test: /\.css$/,
                use: [
                    MiniCssExtractPlugin.loader,
                    'css-loader',
                    'postcss-loader'
                ]
            },
            // 圖片
            {
                test: /\.(png|jpg|jpeg|gif)$/i,
                type: 'asset',          //小于8k打包成base64,小圖打包進(jìn)js里,可以 減少http請(qǐng)求次數(shù)   但是轉(zhuǎn)成base64字符串會(huì)讓體積增大20%-30%   所以大于8k還是直接打包進(jìn)靜態(tài)資源目錄中
                generator: {
                    filename: 'assets/[hash][ext][query]'
                }
            },
            { // 解析 less文件
                test: /\.less$/,
                use: [
                    MiniCssExtractPlugin.loader,
                    'css-loader',
                    'less-loader',
                    'postcss-loader'
                ]
            },
            { // 解析 scss文件
                test: /\.less$/,
                use: [
                    MiniCssExtractPlugin.loader,
                    'css-loader',
                    "scss-loader",
                    'postcss-loader'
                ]
            }
        ]
    }
};

(2.2)? sass轉(zhuǎn)換成css?

例如 創(chuàng)建一個(gè)scss的文件寫樣式? 然后運(yùn)行就會(huì)得到一個(gè)同步css? webpack內(nèi)容和上邊的一樣

不需要其他的引入之類的?

vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

報(bào)錯(cuò)? 因?yàn)槲野?后綴scss? 寫成了 sass

vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

--------------------------------------------------------------------------------------------------------------------------------

(3)? css?

例如 在index.js (入口文件)引入css文件?
vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

例如 創(chuàng)建一個(gè)css的文件寫樣式? 創(chuàng)建html 引入打包后的js創(chuàng)建div包裹c(diǎn)lass?webpack內(nèi)容同上?

vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

運(yùn)行html文件 可以看見看見整體代碼展示效果

?vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

--------------------------------------------------------------------------------------------------------------------------------

(4)? 圖片

?例如 在index.js (入口文件)引入圖片文件??看一下安裝沒有url? 運(yùn)行打包成功

vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

引入?

// 引入圖片
let img_url = require('./assets/logo.png');  
let img2_url = require('./assets/QQ截圖20230904182803.jpg');

// 創(chuàng)建圖片元素
let img = new Image();
let img2 = new Image();


// 設(shè)置圖片的路徑
img.src = img_url;  //打包顯示
img2.src = img2_url.default;  //打包不顯示

// 上樹
document.body.appendChild(img);
document.body.appendChild(img2);

??webpack.config.js

// 基于commonjs規(guī)范定義配置
module.exports = {
    // 指定環(huán)境
    mode: 'development',
    // 入口
    entry: './src/index.js',
    // 出口
    output: {
        // 指定發(fā)布的文件名稱
        filename: './main.js'
    },
    // 配置module屬性
    module: {
        // 通過rules定義加載機(jī)的規(guī)則
  rules:[
            {
                test:/\.css$/,
                use: ["style-loader", "css-loader", "sass-loader"]
            },
            {
                test: /\.(png|jpg|jpeg|gif)$/i,
                type: 'asset',          //小于8k打包成base64,小圖打包進(jìn)js里,可以 減少http請(qǐng)求次數(shù)   但是轉(zhuǎn)成base64字符串會(huì)讓體積增大20%-30%   所以大于8k還是直接打包進(jìn)靜態(tài)資源目錄中
                generator: {
                  filename: 'assets/[hash][ext][query]'
                }
              }
  

        ]
    }
}

第四步 。使用打包指令 webapck -w 可以進(jìn)行隨時(shí)隨地打包? 不需要每次都進(jìn)行 單獨(dú)打包 你每次保存 下邊都會(huì)有變化 就是正常運(yùn)行了??

vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

在dist查看打包的數(shù)據(jù)?

vue3 webpack打包流程及安裝 (1),webpack,前端,node.js

參考:?

Webpack的使用方法_webpack 命令_ID月光傾城的博客-CSDN博客

webpack打包全流程_webpack打包的整個(gè)過程_理想今年妳幾歲的博客-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-705514.html

到了這里,關(guān)于vue3 webpack打包流程及安裝 (1)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • node.js下載安裝和報(bào)錯(cuò)大全(express、淘寶鏡像、webpack、Vue)

    node.js下載安裝和報(bào)錯(cuò)大全(express、淘寶鏡像、webpack、Vue)

    目錄 一、概述 二、操作步驟 (一)下載node.js (二) 安裝node.js (三)查看環(huán)境變量 (四)查看版本信息 (五)新建全局下載包和緩存包位置 (六)配置環(huán)境變量 (七)安裝express(內(nèi)嵌http模塊) 安裝成功 安裝失敗 解決辦法一(最好的辦法) ?解決辦法二(其次) (八

    2024年02月01日
    瀏覽(52)
  • Node.js入門與 Webpack模塊打包工具

    Node.js入門與 Webpack模塊打包工具

    目錄 Node.js入門 fs模塊-讀寫文件 path模塊-路徑處理? 壓縮前端html 認(rèn)識(shí)URL中的端口號(hào) http模塊-創(chuàng)建Web服務(wù) 體驗(yàn) Web 服務(wù)除了接口數(shù)據(jù)以外,還能返回網(wǎng)頁資源等? Node.js模塊化? ECMAScript標(biāo)準(zhǔn)-默認(rèn)導(dǎo)出和導(dǎo)入 ECMAScript標(biāo)準(zhǔn)-命名導(dǎo)出和導(dǎo)入? 包的概念 npm軟件包管理器 npm安裝所有依

    2024年02月11日
    瀏覽(25)
  • Web前端VScode/Vue3/git/nvm/node開發(fā)環(huán)境安裝

    Web前端VScode/Vue3/git/nvm/node開發(fā)環(huán)境安裝

    目錄 1 基本配置 2 安裝vscode 3 安裝vue 4 配置bash 5 安裝nvm 6 安裝node 7 安裝yarn 8 新建項(xiàng)目 9 運(yùn)行helloworld 本篇是為了做前端開發(fā)的環(huán)境而寫。使用的操作系統(tǒng)是windows 10 64位 現(xiàn)在做vue和node基本就是vscode和webstorm,本篇就是用vscode。 可以從主頁直接下載 選擇windows版本下載即可。

    2024年02月04日
    瀏覽(22)
  • Webpack打包圖片-js-vue

    Webpack打包圖片-js-vue

    為了演示我們項(xiàng)目中可以 加載圖片 ,我們需要在項(xiàng)目中使用圖片,比較常見的使用圖片的方式是兩種: img 元素,設(shè)置 src 屬性; 其他元素(比如div),設(shè)置 background-image 的css屬性; 我們當(dāng)前使用的webpack版本是webpack5: 在webpack5之前,加載這些資源我們需要使用一些 loader

    2024年02月06日
    瀏覽(21)
  • 前端vue打包時(shí)遇到‘default‘ is not exported by node_modules/vue/dist/vue.runtime.esm-bundler.js, imported by

    前端vue打包時(shí)遇到‘default‘ is not exported by node_modules/vue/dist/vue.runtime.esm-bundler.js, imported by

    主要原因是由于用到的組件進(jìn)行npm i時(shí)默認(rèn)使用的是vue2,不支持vue3,但是前端框架使用的是vue3,所以導(dǎo)致重構(gòu)編碼時(shí)會(huì)報(bào)錯(cuò), 網(wǎng)上查詢說 ????????當(dāng)我們?cè)谑褂胷ollup編譯es6時(shí),可能會(huì)遇到以下報(bào)錯(cuò)問題,需要 安裝@rollup/plugin-commonjs插件 npm install @rollup/plugin-commonjs 最后,

    2024年02月05日
    瀏覽(27)
  • 【熱門前端【vue框架】】——vue框架和node.js的下載和安裝保姆式教程

    【熱門前端【vue框架】】——vue框架和node.js的下載和安裝保姆式教程

    ?????個(gè)人主頁 :@程序員-曼億點(diǎn) ????? hallo 歡迎 點(diǎn)贊?? 收藏? 留言?? 加關(guān)注?! ????? 本文由 曼億點(diǎn) 原創(chuàng) ????? 收錄于專欄 :vue框架開發(fā) ??Vue.js 是一款流行的 JavaScript 前端框架,它以其簡單、靈活和高效的特性,成為了構(gòu)建現(xiàn)代化 Web 應(yīng)用程序的首選工具

    2024年04月27日
    瀏覽(28)
  • 前端Vue項(xiàng)目webpack打包部署后源碼泄露解決

    前端Vue項(xiàng)目webpack打包部署后源碼泄露解決

    前端項(xiàng)目使用nuxt框架(基于Vue),采用Webpack打包,部署到服務(wù)器后,進(jìn)行漏洞檢測。 經(jīng)Webpack打包部署到服務(wù)器后,訪問并打開開發(fā)者模式,在Source下出現(xiàn)[name]路徑,內(nèi)部包含(webpack)buildin文件夾。(做漏洞分析時(shí),會(huì)認(rèn)為該內(nèi)容涉及源碼泄露) 1.首先考慮源碼泄露的問題 打

    2024年02月03日
    瀏覽(26)
  • AJAX入門到實(shí)戰(zhàn),學(xué)習(xí)前端框架前必會(huì)的(ajax+node.js+webpack+git)(七)

    AJAX入門到實(shí)戰(zhàn),學(xué)習(xí)前端框架前必會(huì)的(ajax+node.js+webpack+git)(七)

    實(shí)操: server.js utils/lib/index.js utils/package.json 從別處(網(wǎng)上、其他人手中)拿到寫好的項(xiàng)目,一般不攜帶node_modules文件夾(所占存儲(chǔ)空間大) 但有package.json文件,里面記載了當(dāng)前項(xiàng)目下載過的包 還有package-lock.json文件,固定軟件包的版本 導(dǎo)入模塊/包,除了自己創(chuàng)建的模塊、包

    2024年01月22日
    瀏覽(67)
  • 十五、Webpack打包圖片-js-Vue、Label命令、resolve模塊解析

    十五、Webpack打包圖片-js-Vue、Label命令、resolve模塊解析

    為了演示我們項(xiàng)目中可以加載圖片,我們需要在項(xiàng)目中使用圖片,比較常見的使用圖片的方式是兩種: img元素,設(shè)置src屬性; 其他元素(比如div),設(shè)置background-image的css屬性; 這個(gè)時(shí)候我們打包會(huì)報(bào)錯(cuò): 我們當(dāng)前使用的webpack版本是webpack5: 在webpack5之前,加載這些資源我

    2024年02月09日
    瀏覽(23)
  • 基于vue3+webpack5+qiankun實(shí)現(xiàn)微前端

    基于vue3+webpack5+qiankun實(shí)現(xiàn)微前端

    一 主應(yīng)用改造(又稱基座改造) 1 在主應(yīng)用中安裝qiankun(npm i qiankun -S) ?2 在src下新建micro-app.js文件,用于存放所有子應(yīng)用。 ?3 改造vue.config.js,允許跨域訪問子應(yīng)用頁面 ?4 改造main.js ? 5 在App.vue中寫響應(yīng)跳轉(zhuǎn)子應(yīng)用(根據(jù)自己的項(xiàng)目找對(duì)應(yīng)位置寫,不局限于App.vue) ? 需要注

    2024年02月13日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包