亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

webpack深入與實戰

難度中級
時長 3小時21分
學習人數
綜合評分9.60
259人評價 查看評價
9.8 內容實用
9.5 簡潔易懂
9.5 邏輯清晰
  • package.json中加入打包參數,運行npm run webpack
    查看全部
  • 另一種方式
    查看全部
  • 靜態引入某一通用腳本文件,減少http請求
    查看全部
  • 一個index.html的模板生成三個頁面 a b c,并且使用chunk參數指定每個頁面需要的腳本文件
    查看全部
  • 獲取不同文件的方式,并將它們分別注入到不同位置
    查看全部
  • 遍歷的方式
    查看全部
  • 一、添加圖片 1、css中的背景圖片。 (1)安裝file-loader 終端目標文件輸入:npm install file-loader --save-dev 2、模板文件layer.tpl直接引用圖片。 (1)絕對路徑:直接寫絕對路徑就行。 (2)相對路徑: <img src="${require('../../assets/bg.jpg')}" 3、最根部的文件index.html引用圖片。 (1)絕對路徑:直接寫絕對路徑就行。 (2)相對路徑:file-loader 二、圖片打包后的輸出地址: 1、 query:{ name:'assets/[name]-[hash:5].[ext]' } 2、安裝url-loader url-loader和file-loader相似,但是url-loader可以指定limit參數。 (1)終端目標文件輸入:npm install url-loader --save-dev url-loader可以處理文件或者圖片,當文件/圖片大小大于指定的limit,就會丟給filel-loader去處理,當小于設定的limit,就會轉為base64編碼,不再是一個url(不再是一個http請求),圖片會被打包進html,css,js (2)兩種圖片引用方式:①通過http請求load進來。瀏覽器會有緩存,比較適用于重復性較高的圖片。②打包成base64。任何地方要用時,都會有base64編碼存在那里,會造成代碼的冗余,增加代碼的體積。 三、壓縮圖片 1、安裝image-webpack-loader 終端目標文件輸入:npm install image-webpack-loader --save-dev 2、先壓縮文件再傳給url-loader判斷。 3、一直是錯誤提示Cannot read property 'bypassOnDebug' of null, 搜了評論、問答,百度了都沒有看到解決辦法???
    查看全部
  • 一、layer.html是模板文件 1、處理模板文件的做法:(1)webpack將模板文件當做一個字符串進行處理。(2)webpack將模板文件當成已經編譯好的的模板的處理函數。 對js模板語法,模板引擎,模板的作用的認識和了解再來看這章會比較容易理解。 二、要支持html文件,安裝html-loader 終端目標文件輸入:npm install html-loader --save-dev 三、要支持.ejs文件或者是.tpl文件,安裝ejs 終端目標文件輸入:npm install ejs-loader --save-dev layer.js載入ejs模板時,返回的是一個function,這時的import tpl from './layer.tpl';中的tpl代表的不再是字符串,表示的是一個已經編譯過的函數 四、react——jsx vue——jsx
    查看全部
    5 采集 收起 來源:處理模板文件

    2017-04-08

  • 一、less-loader 1、安裝: 終端目標文件輸入:npm i less-loader --save-dev 錯誤提示:npm WARN [email protected] requires a peer of less@^2.3.1 but none was installed. 說明less沒有裝 2、安裝less 終端目標文件輸入:npm i less --save-dev 二、less-loader會自己處理@import,就不用再加importLoaders 三、sass-loader 1、安裝 終端目標文件輸入:npm i sass-loader --save-dev 出現錯誤提示: npm WARN [email protected] requires a peer of node-sass@^4.0.0 but none was installed. 說明需要安裝node-sass,解決方法: 終端目標文件輸入:npm i node-sass --save-dev 會有錯誤提示:npm WARN prefer global [email protected] should be installed with -g 但是它會自動安裝到全局???(不確定)
    查看全部
  • 五、@import語法引入的其他模塊,或css,這時引入的文件postcss-loader沒有起作用,解決方法: 用新的rules,use等的用法,不用原來的loaders,loader module:{ rules:[ { test:/\.js$/, loader:'babel-loader', exclude:path.resolve(__dirname,'/node_modules/'),//已經引用過的,已經打包過的文件 include:path.resolve(__dirname,'/src/'), query:{ presets:['latest'] } }, { test:/\.css$/, use:[ { loader:'style-loader' }, { loader:'css-loader', options:{ importLoaders:1 } }, { loader:'postcss-loader' } ] } ] },
    查看全部
  • 安裝cssloader npm install css-loader style-loader --save-dev
    查看全部
  • cd 進入一個目錄 mkdir webpack-test cd webpack-test npm init npm install webpack --save-dev
    查看全部
  • 一、安裝style-loader和css-loader 終端目標文件輸入:npm i style-loader css-loader --save-dev 二、webpack可以將任何資源視為一個模塊。 三、這里將css引用進來, 1、app.js:用的是es6的import語法 2、webpack.config.js: module的loaders 四、postcss-loader 對css進行瀏覽器兼容性考慮時,可以用到這個loader 1、安裝postcss-loader 終端目標文件輸入:npm install postcss-loader --save-dev 2、是一個后處理器。 3、可以加瀏覽器的前綴 (1)安裝autoprefixer 終端目標文件輸入:npm install autoprefixer --save-dev 4、loader處理方式是從右到左,即從數組的最后一項往前 5、webpack.config.js中, postcss:[ require('autoprefixer')({ broswers:['last 5 versions'] }) ], 運行出現錯誤: - configuration has an unknown property 'postcss'. These properties are valid: 原因:視頻是webpack1.0,而現在已經是webpack2.0了, 終端提示錯誤時也給出了解決方案: Until loaders are updated one can use the LoaderOptionsPlugin to pass these options to the loader: plugins: [ new webpack.LoaderOptionsPlugin({ // test: /\.xxx$/, // may apply this only for some modules options: { postcss: ... } }) ] 是說webpack2.0支持上述這種方式
    查看全部
  • 一、(改善)進一步加快解析速度: 1、path.resolve(__dirname,'app/src') node有個api:path,path有個方法:resolve(解析)。 __dirname:在運行環境下的變量,在當前環境的路徑, 'app/src':相對路徑 解析完了之后可以得到一個絕對路徑 2、改善方法: (1)改善的代碼:exclude:path.resolve(__dirname,'/node_modules/'), include:path.resolve(__dirname,'/src/') (2)這樣進一步改善后時間是618ms (3)注意,如果是'node_modules'(視頻中),而不是'/node_modules/'的話,也能運行。但是'/node_modules/'要更快,'/node_modules/')是618ms,而'node_modules'(視頻中)花的時間是1254ms
    查看全部
  • 一、babel 1、babel是一個轉換編譯器,它能將ES6轉換成可以在瀏覽器中運行的代碼 2、安裝babel 終端目標文件夾輸入:npm install --save-dev babel-loader babel-core 3、loader:'babel-loader'可以正常運行,視頻中的loader:'babel'不能正常運行。 4、babel的loader是一個非常耗時的轉換。 改善之前的時間是8260ms 二、query: ['kw??r?]查詢 presets:[pri?'sets] 三、安裝plugin的latest 終端目標文件輸入:npm install --save-dev babel-preset-latest 四、改善: (1)webpack 的api的configuration loaders的參數5個:test,exclude,include,loader,loaders (2)改善方法:exclude,include參數 例如:exclude:'./node_modules/',//node_modules是已經引用過的,已經打包過的文件,其實這里對速度沒有影響,這是告訴你如果是不相關的文件,可以用exclude include:'./src/', 1)會報錯:-configuration.module.loaders[0].exclude: The provided value "./node_modules/" is not an absolute path! 2)報錯的解決方法: exclude:__dirname+'/node_modules/',//已經引用過的,已經打包過的文件 include:__dirname+'/src/', (3)這樣初步改善后時間是1210ms 五、給loader指定參數presets 1、直接Loader后跟問號 require('url-loader?mimetype=images/png!./file.png'); 2、配置文件中跟問號 3、配置文件中用query 4、項目根目錄建立babelrc配置文件,配置文件中一個對象,對象中參數為presets. 5、config.js中指定babel,babel指定presets.
    查看全部

舉報

0/150
提交
取消
課程須知
1、對模塊化開發有一些了解 2、使用過 node 對 npm 有基本的了解 3、對打包有一個基本的概念
老師告訴你能學到什么?
1、模塊化的開發 2、webpack 的 CLI (命令行) 3、webpack 如何在項目中打包 4、webpack 如何處理項目中的資源文件

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!