webpack中main.js import非js樣式處理

main.js

// 導(dǎo)入jquery
// ES6中導(dǎo)入其他模塊的方式
// 由于ES6 語(yǔ)法太高級(jí) 瀏覽器不支持這句語(yǔ)法
import $ from 'jquery'

// 使用import導(dǎo)入本地的css樣式表  注意webpack只能打包js文件不能打包其他文件
// 如果要處理非js文件, 需要手動(dòng)安裝第三方loader加載器
// 1. 如果想要打包c(diǎn)ss文件, 需要安裝 npm i style-loader css-loader -D
// 2. 打開(kāi)webpack.config.js文件, 在里面新增一個(gè)配置節(jié)點(diǎn), 叫做module, 他是一個(gè)對(duì)象,
// 在這個(gè)module對(duì)象身上, 有個(gè)rules屬性, 這個(gè)rules屬性是個(gè)數(shù)組, 在這個(gè)數(shù)組中, 存放了
// 所有第三方文件的匹配和處理規(guī)則
import './css/index.css'
import './css/index.less'
import './css/index.scss'
// 如果要通過(guò)路徑導(dǎo)入node_modules中相關(guān)的文件, 可以省略node_modules也可以, 默認(rèn)查找
import 'bootstrap/dist/css/bootstrap.css'  // bootstrap有字體不能識(shí)別需要裝插件
// class 關(guān)鍵字, 是ES6中提供的新語(yǔ)法, 是用來(lái)實(shí)現(xiàn)ES6中面向?qū)ο缶幊痰姆绞?
class Person{
    // 使用static關(guān)鍵字 可以實(shí)現(xiàn)靜態(tài)屬性
    static info = {name: 'zs', age: 20}
}

console.log(Person.info)
// 在webpack中默認(rèn)只能處理一部分ES6語(yǔ)法  需要借助第三方loader
//  通過(guò)Babel, 可以幫助我們將高級(jí)語(yǔ)法轉(zhuǎn)化為低級(jí)語(yǔ)法
// 1.需要安裝兩套包
// 第一套包 npm i babel-core babel-loader@7 babel-plugin-transform-runtime -D
// 第二套包 npm i babel-preset-env babel-preset-stage-0 -D
// 2. 打開(kāi)webpack.config.js, 在module節(jié)點(diǎn)下配置rules
// {test: /\.js$/, use: 'babel-loader', exclude: /node_modules/}
// 3. 在項(xiàng)目的根目錄中新建一個(gè)叫.babelrc 的Babel 配置文件
// 寫(xiě)如下配置   presets翻譯為語(yǔ)法
// {
//     "presets": ["env", "stage-0"],
//     "plugins": ["transform-runtime"]
// }

webpack.png

webpack.config.js

const path = require('path');

// 導(dǎo)入在內(nèi)存中生成的HTML插件  只要是插件都一定要放在plugin插件中去
const htmlWebpackPlugin = require('html-webpack-plugin');



// 這個(gè)配置文件, 其實(shí)就是一個(gè)js文件, 通過(guò)node 中的模塊操作, 向外暴露了一個(gè)配置對(duì)象

module.exports = {

    // 在配置文件中, 需要手動(dòng)的指定入口和出口
    entry: path.join(__dirname, './src/main.js'),  // 入口, 表示webpack要打包那個(gè)文件
    output: {
        path: path.join(__dirname, './dist'), // 指定打包好的文件, 放在那個(gè)目錄中去
        filename: 'bundle.js', // 這里是指輸出的文件名稱(chēng)
},
    mode: 'production',
    plugins: [
        new htmlWebpackPlugin({   //創(chuàng)建一個(gè)在內(nèi)存中生成html插件
            template: path.join(__dirname, './src/index.html'),  // 指定模板頁(yè)面, 將來(lái)會(huì)根據(jù)指定的頁(yè)面路徑, 去生成內(nèi)存中的頁(yè)面
            filename: 'index.html'  // 指定生成內(nèi)存中的頁(yè)面
        })
    ],

    module: {  // 這個(gè)節(jié)點(diǎn)用于配置所有的第三方模塊的匹配規(guī)則
        rules: [                                                            // test是正則 use是用哪個(gè)第三方模塊來(lái)處理
            { test: /\.css$/, use: ['style-loader', 'css-loader'] },  // 配置處理 .css文件的第三方規(guī)則
            { test: /\.less$/, use: ['style-loader', 'css-loader', 'less-loader'] },   // 配置處理.less后綴的文件
            { test: /\.scss$/, use: ['style-loader', 'css-loader', 'sass-loader'] },  // 配置處理.scss后綴文件
            // limit限制圖片大小 處理圖片路徑的loader ?& 傳參  單位是byte 如果我們引用的圖片大于或者等于給定的LIMIT的值
            // 則不會(huì)被轉(zhuǎn)為base64字符串, 否則相反   [name].[ext]  之前叫什么名現(xiàn)在還叫什么名字 [hash:8]-前面用8位hash值
            { test: /\.jpg|png|gif|bmp|svg|jpeg$/, use: 'url-loader?limit=500&name=[hash:8]-[name].[ext]' },
            { test: /\.(ttf|eot|svg|woff|woff2)$/, use: 'url-loader'},  // 處理字體文件的loader
            {test: /\.js$/, use: 'babel-loader', exclude: /node_modules/}  // 用于處理ES6 的高級(jí)語(yǔ)法轉(zhuǎn)化低級(jí)語(yǔ)法
        ]
    },
    performance: {
    hints: "warning", // 枚舉
    maxAssetSize: 30000000, // 整數(shù)類(lèi)型(以字節(jié)為單位)
    maxEntrypointSize: 50000000, // 整數(shù)類(lèi)型(以字節(jié)為單位)
    assetFilter: function(assetFilename) {
    // 提供資源文件名的斷言函數(shù)
    return assetFilename.endsWith('.css') || assetFilename.endsWith('.js');

    }
},


};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市变姨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌朴爬,老刑警劉巖随静,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡娇斑,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)材部,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)毫缆,“玉大人,你說(shuō)我怎么就攤上這事乐导】喽。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵物臂,是天一觀的道長(zhǎng)旺拉。 經(jīng)常有香客問(wèn)我产上,道長(zhǎng),這世上最難降的妖魔是什么蛾狗? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任晋涣,我火速辦了婚禮,結(jié)果婚禮上沉桌,老公的妹妹穿的比我還像新娘谢鹊。我一直安慰自己,他們只是感情好留凭,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布撇贺。 她就那樣靜靜地躺著,像睡著了一般冰抢。 火紅的嫁衣襯著肌膚如雪松嘶。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,166評(píng)論 1 284
  • 那天挎扰,我揣著相機(jī)與錄音翠订,去河邊找鬼。 笑死遵倦,一個(gè)胖子當(dāng)著我的面吹牛尽超,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播梧躺,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼似谁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了掠哥?” 一聲冷哼從身側(cè)響起巩踏,我...
    開(kāi)封第一講書(shū)人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎续搀,沒(méi)想到半個(gè)月后塞琼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡禁舷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年彪杉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牵咙。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡派近,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出洁桌,到底是詐尸還是另有隱情渴丸,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站曙强,受9級(jí)特大地震影響残拐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜碟嘴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一溪食、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧娜扇,春花似錦错沃、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至刃麸,卻和暖如春醒叁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背泊业。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工把沼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人吁伺。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓饮睬,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親篮奄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子捆愁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

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