整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          webpack資源管理一之加載 CSS使用詳解

          webpack資源管理一之加載 CSS使用詳解

          webpack 出現之前,前端開發人員會使用 grunt 和 gulp 等工具來處理資源,并將它們從 /src 文件夾移動到 /dist 或 /build 目錄中。JavaScript 模塊也遵循同樣方式,但是,像 webpack 這樣的工具,將動態打包所有依賴(創建所謂的 依賴圖(dependency graph))。這是極好的創舉,因為現在每個模塊都可以明確表述它自身的依賴,可以避免打包未使用的模塊。

          webpack 最出色的功能之一就是,除了引入 JavaScript,還可以通過 loader 或內置的 Asset Modules 引入任何其他類型的文件。也就是說,以上列出的那些 JavaScript 的優點(例如顯式依賴),同樣可以用來構建 web 站點或 web 應用程序中的所有非 JavaScript 內容。讓我們從 CSS 開始起步,或許你可能已經熟悉了下面這些設置。

          初始化示例工程

          首先我們創建一個目錄webpack-css,用npm初始化 ,然后在本地安裝 webpack:

          mkdir webpack-css
          cd webpack-css
          npm init -y
          npm install webpack webpack-cli --save-dev

          目錄結構、文件和內容如下:

            webpack-css
           |- package.json
           |- /dist
             |- index.html
           |-webpack.config.js

          其中dist/index.html文件內容為:

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <meta http-equiv="X-UA-Compatible" content="IE=edge">
              <meta name="viewport" content="width=device-width, initial-scale=1.0">
              <title>webpack 資源管理</title>
              <script src="bundle.js"></script>
          </head>
          <body>
                <div class="css_demo">css 資源管理</div>
          </body>
          </html>

          webpack.config.js的文件內容如下:

           const path=require('path');
           module.exports={
             entry: './src/index.js',
             output: {
              filename: 'bundle.js',
              path: path.resolve(__dirname, 'dist'),
             },
           };

          package.js的文件內容如下:

          {
            "name": "webpack-css",
            "version": "1.0.0",
            "description": "",
            "private": true,
            "scripts": {
              "test": "echo \"Error: no test specified\" && exit 1",
              "build": "webpack"
            },
            "keywords": [],
            "author": "",
            "license": "ISC",
            "devDependencies": {
              "css-loader": "^5.2.0",
              "style-loader": "^2.0.0",
              "webpack": "^5.28.0"
            }
          }

          加載 CSS

          為了在 JavaScript 模塊中 import 一個 CSS 文件,你需要安裝 style-loader 和 css-loader,并在 module 配置 中添加這些 loader:

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

          修改webpack.config.js添加加載CSS:

          const path=require('path')
          
          module.exports={
              entry: './src/index.js',
              output: {
                  filename: 'bundle.js',
                  path: path.resolve(__dirname,'dist')
              },
              module: {
                  rules: [
                      {
                          test: /\.css$/i,
                          use: ['style-loader', 'css-loader']
                      }
                  ]
              }
          }

          模塊 loader 可以鏈式調用。鏈中的每個 loader 都將對資源進行轉換。鏈會按逆序執行。第一個 loader 將其結果(被轉換后的資源)傳遞給下一個 loader,依此類推。最后,webpack 期望鏈中的最后的 loader 返回 JavaScript。

          應保證 loader 的先后順序:'style-loader' 在前,而 'css-loader' 在后。如果不遵守此約定,webpack 可能會拋出錯誤。

          webpack 根據正則表達式,來確定應該查找哪些文件,并將其提供給指定的 loader。在這個示例中,所有以 .css 結尾的文件,都將被提供給 style-loader 和 css-loader。

          這使你可以在依賴于此樣式的 js 文件中使用 import './style.css'。現在,在此模塊執行過程中,含有 CSS 字符串的 <style> 標簽,將被插入到 html 文件的 <head> 中。

          我們嘗試一下,通過在項目中添加一個新的 style.css 文件,并將其 import 到我們的 index.js 中。

          在src的目錄下創建 style.css 文件,src/style.css文件內容如下:

          .css_demo {
            color: red;
          }

          在src/index.js的文件中引入style.css:

          import './style.css'

          執行打包命令

          npm run build
          
          > webpack-css@1.0.0 build D:\project\mockjs\webpack-css
          > webpack
          
          asset bundle.js 3.58 KiB [emitted] [minimized] (name: main)
          runtime modules 663 bytes 3 modules
          orphan modules 326 bytes [orphan] 1 module
          cacheable modules 8.9 KiB
            modules by path ./src/ 679 bytes
              ./src/index.js + 1 modules 346 bytes [built] [code generated]
              ./node_modules/css-loader/dist/cjs.js!./src/style.css 333 bytes [built] [code generated]
            modules by path ./node_modules/ 8.23 KiB
              ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js 6.67 KiB [built] [code generated]
              ./node_modules/css-loader/dist/runtime/api.js 1.57 KiB [built] [code generated]
          
          WARNING in configuration
          The 'mode' option has not been set, webpack will fallback to 'production' for this value.
          Set 'mode' option to 'development' or 'production' to enable defaults for each environment.
          You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/configuration/mode/
          
          webpack 5.28.0 compiled with 1 warning in 1573 ms

          再次在瀏覽器中打開 dist/index.html,你應該看到 css 資源管理 現在的樣式是紅色。要查看 webpack 做了什么,請檢查頁面(不要查看頁面源代碼,它不會顯示結果,因為 <style> 標簽是由 JavaScript 動態創建的),并查看頁面的 head 標簽。它應該包含 style 塊元素,也就是我們在 index.js 中 import 的 css 文件中的樣式。

          效果

          注意,在多數情況下,你也可以進行 壓縮 CSS,以便在生產環境中節省加載時間。最重要的是,現有的 loader 可以支持任何你可以想到的 CSS 風格 - postcss, sass 和 less 等。

          在前面:java作為一門世界級編程語言金字塔頂尖的語言。需要大量的練習、練習、練習來鞏固自己所獲得的知識。冰凍三尺非一日之寒,希望大家在學習java的日子里一定一定要堅持不懈,嚴格要求。多練,多問,多百度。祝大家早日成為一名優秀的軟件工程師!

          文章摘要:此篇文章會帶領大家創建一個html最簡單的頁面,以及在頁面中增加一些簡單的內容。

          我先給大家放2張我以前教學的時候,開課前給學生畫的圖:

          這2張圖應該已經比較清晰明了的告訴你,學習java前端需要具備的一些主觀和客觀方面的東西,我就不多做解釋了,以后我的文章中,會以代碼圖片及展現效果居多,盡量減少文字的占比。讓大家對所學的知識有一個更直觀的感受。

          言歸正傳,想要編寫html代碼,首先需要一個后綴為.html的文件,這個文件怎么創建呢?最簡單的方式,建一個txt,然后把后綴改為.html,用編輯器打開,就可以編寫代碼了。

          當然,txt界面太丑,筆者這里選用sublime,該編輯器也可以直接加載一個html模板,選擇菜單→新建文件(模板)→html,當然,前提要先設置好這個模板,具體設置方法這里就不做詳細介紹了,百度上一大堆。新建完成后,產生一個代碼如下的頁面:

          然后在<body></body>標簽體之間打入一行代碼

          用瀏覽器打開該文件,顯示如下圖,說明這個html文件已經創建成功了,能夠正常的編寫代碼。

          零基礎的同學一定對剛才的代碼比較疑惑,雖然照著寫能實現功能,但是這些代碼各自又都是什么意義呢? 我用注釋的方式上圖來告訴大家:

          首先,html 的標簽分為自閉和標簽和閉合標簽

          自閉和標簽:就是沒有結束標簽,比如上圖的<meta>標簽,該標簽是沒有結束標簽相呼應的。

          閉合標簽:有開始和結束標簽,比如上圖的<html><body><h1>標簽,他們都有一個</html></body></h1>相呼應

          在上圖中,我用過了比較多的 < !-- -- >標簽,這是html里的注釋標簽,在編寫代碼的過程中,勤加注釋是一個非常非常好的習慣,不僅方便了他人也方便了以后自己代碼的維護。所以說,不加注釋的代碼都是在耍流氓。

          我們80%的頁面標簽代碼都會寫在<body></body>標簽里面,什么是標簽,至少包含< > 和標簽元素,比如<div><a><p><input>等,標簽還有標簽屬性和屬性值,標簽屬性和屬性值在第一個標簽內容中,如果是多個標簽則以空格符號分割 ,如圖:

          Div 是整個html中最常用的一個標簽元素,<div></div>類似于一個盒子,里面可以承載各種各樣的元素標簽,大家看到的所有的網站都是靠著div一個個的盒子規劃開來,最后拼接在一起的,形成了一個完整的頁面。

          那么如何去建立一個div呢?首先,我們在html的<body></body>標簽中加入一個<div></div>標簽 ,但是單純的加入標簽并不會在頁面中產生肉眼可見的東西,因為我們還要定義這個div的寬,高,背景色,邊框等等,詳見如下代碼:

          這樣的一行代碼,最后展現出來的效果是:

          我們來一點點的剖析這一行代碼:

          Style:style 是元素標簽里的一個標簽屬性,他的作用是可以定義該標簽的樣式。里面的樣式格式是xxx:xxx; 每一組樣式都是這樣的定義,冒號用來隔開樣式屬性和樣式屬性值,最后以分號結尾.

          width:定義該元素的寬

          height:定義該元素的高

          background:定義該元素的背景顏色(也可使用red,yellow等顏色定義)

          border:定義該元素的邊框

          4px 代表邊框粗細,

          solid 代表邊框樣式, 邊框樣式又分為solid(實框)、dotted(虛框)

          red代表邊框顏色,邊框顏色也可用#ccc,#112233這種形式表現

          Div里可以放入文字、圖片、標簽元素等各式各樣的東西。下面我演示一下如何放入照片:

          首先,放入照片要使用到<img>標簽,這是一個自閉和標簽,所有沒有結束標簽。

          Src代表圖片的路徑,width,height 代表圖片的寬度和高度 ,alt是圖片的描述

          這個路徑可以是相對路徑,也可以是絕對路徑。

          相對路徑:就是相對于這個網頁的路徑,比如圖片和網頁在同一個文件夾下,那么src處就直接填圖片的文件名字就可以,若建了一個文件夾images,圖片放在該文件夾中,同時這個文件夾和網頁在同一個位置,那么src所填的就是images/圖片名字.jpg

          絕對路徑:即從頭開始寫路徑,如src=“C:/xxx/xxx/xxx/xxx.jpg”

          假設我現在的圖片位置和網頁位置同處一處

          最后的效果:

          我這里改大了DIV的寬度和高度,若圖片所設的寬高大于DIV的寬度高度,那么將會發生溢出的情況,同學們可以自己去試一下,這種溢出的情況也有對應的標簽可以做調整,這個我們后面再講。

          這邊特別提醒一點,如果div沒有設定寬度width,則默認為等同瀏覽器寬度的寬度,若div沒有設定高度,則該div根據div中內容進行高度的伸縮,div中的內容有多高,div就有多高,如圖,我把width和height全部去掉:

          上圖width和height全部去掉,所以,width默認跟瀏覽器寬度等寬,高度為圖片的高度。

          文字的話就比較簡單了,代碼貼上:

          最后結果:

          第二句文字才是div創建出來的文字,我解釋一下style里面的樣式:

          Font-size:文字大小,px為單位(像素)

          Font-family:文字樣式,分為很多,這個可以去word文檔里找找

          Font-weight:文字加粗,bold是一種默認加粗的大小。

          End.

          來源:公眾號“java編程”

          運行人員:中國統計網小編(微信號:itongjilove)

          微博ID:中國統計網

          中國統計網,是國內最早的大數據學習網站,公眾號:中國統計網

          http://www.itongji.cn


          主站蜘蛛池模板: 一区二区三区高清视频在线观看 | 97久久精品无码一区二区| 精品欧美一区二区在线观看| 美女福利视频一区二区| 97久久精品无码一区二区| 国模吧无码一区二区三区| 一区二区三区www| 国产91一区二区在线播放不卡| 韩国资源视频一区二区三区| 加勒比精品久久一区二区三区| 久久一区二区精品| 岛国精品一区免费视频在线观看| 无码精品尤物一区二区三区| 精品国产免费一区二区三区香蕉| 日韩动漫av在线播放一区| 国产乱码精品一区二区三| 精品国产乱码一区二区三区| 亚洲午夜日韩高清一区| 日本在线视频一区二区三区 | 蜜桃臀无码内射一区二区三区| 免费观看日本污污ww网站一区| 亚洲福利视频一区二区三区| 精品国产亚洲一区二区在线观看 | 日韩免费一区二区三区在线| 99久久精品国产高清一区二区| 国产成人精品一区二区三区| 国产乱码伦精品一区二区三区麻豆| 国产无码一区二区在线| 欧洲精品无码一区二区三区在线播放| 中文字幕日韩人妻不卡一区| 亚洲一区二区三区偷拍女厕| 无码一区二区三区免费| 无码人妻精品一区二区三区66| 国模私拍福利一区二区| 欧美日韩国产免费一区二区三区| 精品日韩一区二区| 精品免费久久久久国产一区| 国产精品免费一区二区三区四区| 蜜桃视频一区二区三区在线观看 | 国产激情精品一区二区三区| 香蕉视频一区二区|