Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
徑描述
<img src="picture.jpg">
picture.jpg 位于與當前網(wǎng)頁相同的文件夾
<img src="images/picture.jpg">
picture.jpg 位于當前文件夾的 images 文件夾中
<img src="/images/picture.jpg">
picture.jpg 當前站點根目錄的 images 文件夾中
<img src="../picture.jpg">
picture.jpg 位于當前文件夾的上一級文件夾中
文件路徑描述了網(wǎng)站文件夾結(jié)構(gòu)中某個文件的位置。
文件路徑會在鏈接外部文件時被用到:
絕對文件路徑是指向一個因特網(wǎng)文件的完整 URL:
實例
webpack 出現(xiàn)之前,前端開發(fā)人員會使用 grunt 和 gulp 等工具來處理資源,并將它們從 /src 文件夾移動到 /dist 或 /build 目錄中。JavaScript 模塊也遵循同樣方式,但是,像 webpack 這樣的工具,將動態(tài)打包所有依賴(創(chuàng)建所謂的 依賴圖(dependency graph))。這是極好的創(chuàng)舉,因為現(xiàn)在每個模塊都可以明確表述它自身的依賴,可以避免打包未使用的模塊。
webpack 最出色的功能之一就是,除了引入 JavaScript,還可以通過 loader 或內(nèi)置的 Asset Modules 引入任何其他類型的文件。也就是說,以上列出的那些 JavaScript 的優(yōu)點(例如顯式依賴),同樣可以用來構(gòu)建 web 站點或 web 應(yīng)用程序中的所有非 JavaScript 內(nèi)容。讓我們從 CSS 開始起步,或許你可能已經(jīng)熟悉了下面這些設(shè)置。
首先我們創(chuàng)建一個目錄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"
}
}
為了在 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 可以鏈式調(diào)用。鏈中的每個 loader 都將對資源進行轉(zhuǎn)換。鏈會按逆序執(zhí)行。第一個 loader 將其結(jié)果(被轉(zhuǎn)換后的資源)傳遞給下一個 loader,依此類推。最后,webpack 期望鏈中的最后的 loader 返回 JavaScript。
應(yīng)保證 loader 的先后順序:'style-loader' 在前,而 'css-loader' 在后。如果不遵守此約定,webpack 可能會拋出錯誤。
webpack 根據(jù)正則表達式,來確定應(yīng)該查找哪些文件,并將其提供給指定的 loader。在這個示例中,所有以 .css 結(jié)尾的文件,都將被提供給 style-loader 和 css-loader。
這使你可以在依賴于此樣式的 js 文件中使用 import './style.css'。現(xiàn)在,在此模塊執(zhí)行過程中,含有 CSS 字符串的 <style> 標簽,將被插入到 html 文件的 <head> 中。
我們嘗試一下,通過在項目中添加一個新的 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 做了什么,請檢查頁面(不要查看頁面源代碼,它不會顯示結(jié)果,因為 <style> 標簽是由 JavaScript 動態(tài)創(chuàng)建的),并查看頁面的 head 標簽。它應(yīng)該包含 style 塊元素,也就是我們在 index.js 中 import 的 css 文件中的樣式。
效果
注意,在多數(shù)情況下,你也可以進行 壓縮 CSS,以便在生產(chǎn)環(huán)境中節(jié)省加載時間。最重要的是,現(xiàn)有的 loader 可以支持任何你可以想到的 CSS 風格 - postcss, sass 和 less 等。
興趣的朋友,看過來,用手機一分鐘做出屬于自己的網(wǎng)頁。
1.下載一個文本編輯器軟件,比如“超卓文本編輯器”。當然,如果你手機已經(jīng)有文本編輯器,那就不用再下載了。
2.打開手機文件管理中的手機存儲,新建文件夾,名字寫“HTML”;這個文件夾一會用來保存你的網(wǎng)頁。
3.打開編輯器,復制粘貼以下代碼:<html>
<head>
<title>
這是我的網(wǎng)頁
</title>
</head>
<body>
這是我做的第一個網(wǎng)頁,真開心!
</body>
</html>
保存文件到剛剛建的“HTML”文件夾里,文件名字取“index.html”。
4.去手機存儲里,找到并打開“HTML”文件夾,點擊里面的“index.html”文件,你就能看到以下效果
5.接下來,我們講解一下上面的代碼:
<我是標簽>,被<>這個符號包起來的叫做標簽,把網(wǎng)頁比作一堵墻的話,那這標簽就是一塊塊的磚。
上面的標簽都是成對的,有開始就有結(jié)束,比如<html></html>。當然,也存在單個體的標簽,它們從一出生就被定義孤獨終老。
<html> 標簽代表著整個網(wǎng)頁,所有內(nèi)容都寫在它里面。
<head> 標簽代表著頭部,用來聲明一些代碼。
<title> 標簽代表這個頁面的標題,就是瀏覽器顯示網(wǎng)址的那個位置。
<body> 標簽代表著身體,網(wǎng)頁的所有正文內(nèi)容,都被它容納。
6.為什么該文件取名為“index.html”呢?
其實,取什么名字都可以(強調(diào)用英文)。
不過,后綴一定要寫成“htm”或“html”,只有這樣,瀏覽器才能識別得出這是一個網(wǎng)頁文件。
7.堂課總結(jié):
① 下載安裝文本編輯器
② 新建文件夾,名字隨意取(英文名)
③ 復制粘貼代碼并保存,后綴寫成“html”
期待下節(jié)課還能見到你們!
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。