webpack中使用第三方插件(jQuery)

一:通過npm安裝的jQuery

  1. npm install --save-dev jquery
  2. 在webpack的plugins里面配置jquery
plugins: [
    // 使用jQuery(npm管理)
    new webpack.ProvidePlugin({
        $: 'jquery'
    })
]

二:jQuery是放在本地自己管理的目錄里面

  1. 在webpack.config.js配置resolve把jQuery解析到想要的目錄
// 配置resolve把jQuery解析到想要的目錄

resolve: {
    alias: {
        jquery$: path.resolve(__dirname, 'src/lib/jquery.min.js')
    }
},
  1. 在webpack的plugins里面配置jquery
plugins: [
    // 使用jQuery(npm管理)
    new webpack.ProvidePlugin({
        $: 'jquery'
    })
]

三:通過imports-loader加載

  1. 安裝imports-loader
  2. 在webpack.config.js配置resolve把jQuery解析到想要的目錄
// 配置resolve把jQuery解析到想要的目錄

resolve: {
    alias: {
        jquery$: path.resolve(__dirname, 'src/lib/jquery.min.js')
    }
},
  1. 在module的rules里面配置規(guī)則
{  // 加載jQuery
    test: path.resolve(__dirname, 'src/app.js'),
    use: [
        {
            loader: 'imports-loader',
            options: {
                $: 'jquery'
            }
        }
    ]
}
  1. 全部配置
var path = require('path');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var webpack = require('webpack');

module.exports = {
    // 入口
    entry: {
        app: './src/app.js'
    },

    // 輸出
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: '[name]-bundle-[hash:5].js'  // 帶hash值得js
    },

    // 配置resolve把jQuery解析到想要的目錄

    resolve: {
        alias: {
            jquery$: path.resolve(__dirname, 'src/lib/jquery.min.js')
        }
    },
    module: {
        rules: [
            {
                test: /\.less$/,
                use: [
                    {
                        loader: 'style-loader',  // 可以把css放在頁面上
                        options: {
                            singleton: true, // 使用一個style標(biāo)簽
                            transform: './css.transform.js' // transform 是css的變形函數(shù),相對于webpack.config的路徑
                        }
                    },
                    {
                        loader: 'css-loader',   // 放在后面的先被解析
                        options: {
                            minimize: true,
                            modules: true,
                            localIdentName: '[path][name]_[local]_[hash:base64:5]'
                        }
                    },
                    {
                        loader: 'less-loader'
                    }
                    
                ]
            },
            {  // 加載jQuery
                test: path.resolve(__dirname, 'src/app.js'),
                use: [
                    {
                        loader: 'imports-loader',
                        options: {
                            $: 'jquery'
                        }
                    }
                ]
            }
            
        ]
    },
    plugins: [
        new HtmlWebpackPlugin({
            template: './index.html',  // 文件地址
            filename: 'index.html',  // 生成文件名字
            // inject: false,    // 不把生成的css,js插入到html中
            chunks: ['app'],  //指定某一個入口,只會把入口相關(guān)載入html
            minify: {  // 壓縮html
                collapseWhitespace: true   // 空格
            }
        })
    ]
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。 webpack介紹和使用 一、webpack介紹 1、由來 ...
    it筱竹閱讀 11,222評論 0 21
  • GitChat技術(shù)雜談 前言 本文較長,為了節(jié)省你的閱讀時間,在文前列寫作思路如下: 什么是 webpack,它要...
    蕭玄辭閱讀 12,710評論 7 110
  • 目錄第1章 webpack簡介 11.1 webpack是什么? 11.2 官網(wǎng)地址 21.3 為什么使用 web...
    lemonzoey閱讀 1,751評論 0 1
  • “爸,要常來啊?!?某一天走在回家的路上,突然聽到這樣一句話。 只見一個年輕人,扶著老人的背,送著走了幾步,就走進(jìn)...
    止一量化養(yǎng)家閱讀 177評論 0 1
  • 以下方法可以告訴你自己寫了多少行代碼 打開終端 cd 進(jìn)入文件夾 查看行數(shù) 查看 當(dāng)前文件夾每個文件的行數(shù) 效果 ...
    CoderZNB閱讀 416評論 0 0