整合營(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é)課還能見到你們!


          主站蜘蛛池模板: 日本成人一区二区| 亚洲国产成人精品久久久国产成人一区二区三区综 | 国产一区二区免费在线| 一区 二区 三区 中文字幕| 国产香蕉一区二区在线网站| 成人影片一区免费观看| 一区视频在线播放| 国产色欲AV一区二区三区| 亚洲日本乱码一区二区在线二产线| 一区二区三区午夜| 日韩一区二区三区视频| 色国产在线视频一区| 欧美一区内射最近更新| 亚洲日韩一区精品射精| 亚洲第一区二区快射影院| 狠狠色综合一区二区| 人体内射精一区二区三区| 久久精品亚洲一区二区| 无码国产精品一区二区免费16| 中文字幕一区二区三区乱码| 日本在线视频一区| 国产福利电影一区二区三区,亚洲国模精品一区 | 国产激情无码一区二区三区| 波多野结衣一区在线| 日韩精品一区二区午夜成人版| 精品一区二区三区四区电影| 国产福利日本一区二区三区| 韩国福利影视一区二区三区| 亚洲综合色自拍一区| 偷拍精品视频一区二区三区| 色婷婷亚洲一区二区三区| 91精品福利一区二区三区野战| 久久人做人爽一区二区三区| 无码人妻视频一区二区三区| 中文字幕无码一区二区三区本日| 手机福利视频一区二区| 免费无码一区二区三区蜜桃大| 日本国产一区二区三区在线观看| 久久久精品一区二区三区| 国产香蕉一区二区在线网站| 美女视频一区三区网站在线观看|