整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          HTML 文件路徑

          徑描述

          <img src="picture.jpg"> 
          

          picture.jpg 位于與當(dāng)前網(wǎng)頁(yè)相同的文件夾

          <img src="images/picture.jpg"> 
          

          picture.jpg 位于當(dāng)前文件夾的 images 文件夾中

          <img src="/images/picture.jpg">
          

          picture.jpg 當(dāng)前站點(diǎn)根目錄的 images 文件夾中

          <img src="../picture.jpg">
          

          picture.jpg 位于當(dāng)前文件夾的上一級(jí)文件夾中

          HTML 文件路徑

          文件路徑描述了網(wǎng)站文件夾結(jié)構(gòu)中某個(gè)文件的位置。

          文件路徑會(huì)在鏈接外部文件時(shí)被用到:

          • 網(wǎng)頁(yè)
          • 圖像
          • 樣式表
          • JavaScript


          絕對(duì)文件路徑

          絕對(duì)文件路徑是指向一個(gè)因特網(wǎng)文件的完整 URL:

          實(shí)例

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

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

          初始化示例工程

          首先我們創(chuàng)建一個(gè)目錄webpack-css,用npm初始化 ,然后在本地安裝 webpack:

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

          目錄結(jié)構(gòu)、文件和內(nèi)容如下:

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

          其中dist/index.html文件內(nèi)容為:

          <!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的文件內(nèi)容如下:

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

          package.js的文件內(nèi)容如下:

          {
            "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 一個(gè) 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 可以鏈?zhǔn)秸{(diào)用。鏈中的每個(gè) loader 都將對(duì)資源進(jìn)行轉(zhuǎn)換。鏈會(huì)按逆序執(zhí)行。第一個(gè) loader 將其結(jié)果(被轉(zhuǎn)換后的資源)傳遞給下一個(gè) loader,依此類推。最后,webpack 期望鏈中的最后的 loader 返回 JavaScript。

          應(yīng)保證 loader 的先后順序:'style-loader' 在前,而 'css-loader' 在后。如果不遵守此約定,webpack 可能會(huì)拋出錯(cuò)誤。

          webpack 根據(jù)正則表達(dá)式,來確定應(yīng)該查找哪些文件,并將其提供給指定的 loader。在這個(gè)示例中,所有以 .css 結(jié)尾的文件,都將被提供給 style-loader 和 css-loader。

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

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

          在src的目錄下創(chuàng)建 style.css 文件,src/style.css文件內(nèi)容如下:

          .css_demo {
            color: red;
          }

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

          import './style.css'

          執(zhí)行打包命令

          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,你應(yīng)該看到 css 資源管理 現(xiàn)在的樣式是紅色。要查看 webpack 做了什么,請(qǐng)檢查頁(yè)面(不要查看頁(yè)面源代碼,它不會(huì)顯示結(jié)果,因?yàn)?<style> 標(biāo)簽是由 JavaScript 動(dòng)態(tài)創(chuàng)建的),并查看頁(yè)面的 head 標(biāo)簽。它應(yīng)該包含 style 塊元素,也就是我們?cè)?index.js 中 import 的 css 文件中的樣式。

          效果

          注意,在多數(shù)情況下,你也可以進(jìn)行 壓縮 CSS,以便在生產(chǎn)環(huán)境中節(jié)省加載時(shí)間。最重要的是,現(xiàn)有的 loader 可以支持任何你可以想到的 CSS 風(fēng)格 - postcss, sass 和 less 等。

          興趣的朋友,看過來,用手機(jī)一分鐘做出屬于自己的網(wǎng)頁(yè)。

          1.下載一個(gè)文本編輯器軟件,比如“超卓文本編輯器”。當(dāng)然,如果你手機(jī)已經(jīng)有文本編輯器,那就不用再下載了。

          2.打開手機(jī)文件管理中的手機(jī)存儲(chǔ),新建文件夾,名字寫“HTML”;這個(gè)文件夾一會(huì)用來保存你的網(wǎng)頁(yè)。

          3.打開編輯器,復(fù)制粘貼以下代碼:<html>

          <head>

          <title>

          這是我的網(wǎng)頁(yè)

          </title>

          </head>

          <body>

          這是我做的第一個(gè)網(wǎng)頁(yè),真開心!

          </body>

          </html>

          保存文件到剛剛建的“HTML”文件夾里,文件名字取“index.html”。

          4.去手機(jī)存儲(chǔ)里,找到并打開“HTML”文件夾,點(diǎn)擊里面的“index.html”文件,你就能看到以下效果

          5.接下來,我們講解一下上面的代碼:

          <我是標(biāo)簽>,被<>這個(gè)符號(hào)包起來的叫做標(biāo)簽,把網(wǎng)頁(yè)比作一堵墻的話,那這標(biāo)簽就是一塊塊的磚。

          上面的標(biāo)簽都是成對(duì)的,有開始就有結(jié)束,比如<html></html>。當(dāng)然,也存在單個(gè)體的標(biāo)簽,它們從一出生就被定義孤獨(dú)終老。

          <html> 標(biāo)簽代表著整個(gè)網(wǎng)頁(yè),所有內(nèi)容都寫在它里面。

          <head> 標(biāo)簽代表著頭部,用來聲明一些代碼。

          <title> 標(biāo)簽代表這個(gè)頁(yè)面的標(biāo)題,就是瀏覽器顯示網(wǎng)址的那個(gè)位置。

          <body> 標(biāo)簽代表著身體,網(wǎng)頁(yè)的所有正文內(nèi)容,都被它容納。

          6.為什么該文件取名為“index.html”呢?

          其實(shí),取什么名字都可以(強(qiáng)調(diào)用英文)。

          不過,后綴一定要寫成“htm”或“html”,只有這樣,瀏覽器才能識(shí)別得出這是一個(gè)網(wǎng)頁(yè)文件。

          7.堂課總結(jié):

          ① 下載安裝文本編輯器

          ② 新建文件夾,名字隨意取(英文名)

          ③ 復(fù)制粘貼代碼并保存,后綴寫成“html”


          期待下節(jié)課還能見到你們!


          主站蜘蛛池模板: 午夜一区二区在线观看| 3D动漫精品一区二区三区| 亚洲视频一区在线| 美女视频免费看一区二区| 亚洲午夜精品一区二区| 国产一区二区三区精品视频| 日本一区二区在线不卡| 国产精品一区二区久久沈樵| 在线精品亚洲一区二区| 精品一区二区三区自拍图片区| 又硬又粗又大一区二区三区视频| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 国偷自产一区二区免费视频| 国产成人精品一区二三区在线观看 | 国产激情无码一区二区三区| 国产伦精品一区二区三区在线观看| 日韩欧美一区二区三区免费观看 | 91福利国产在线观一区二区| 国精产品一区二区三区糖心| 午夜视频久久久久一区| 一区二区三区四区精品| aⅴ一区二区三区无卡无码| 精品在线视频一区| 国产天堂一区二区综合| 国产一区三区三区| 亚洲欧洲一区二区| 无码乱码av天堂一区二区| 国产精品美女一区二区三区| 在线观看视频一区二区| 国产剧情一区二区| 国产一在线精品一区在线观看| 色狠狠色噜噜Av天堂一区| 国产av一区二区三区日韩| 无码一区二区三区| 亚洲一本一道一区二区三区| 国产伦精品一区二区三区在线观看| 亚洲av区一区二区三| 无码一区二区三区免费| 色国产在线视频一区| 国产在线精品一区二区夜色| 性色av一区二区三区夜夜嗨|