第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

當(dāng)?shù)卿涰撁娌辉谧幽夸浿袝r(shí),如何為多頁 webpack 配置設(shè)置圖像鏈接?

當(dāng)?shù)卿涰撁娌辉谧幽夸浿袝r(shí),如何為多頁 webpack 配置設(shè)置圖像鏈接?

紫衣仙女 2022-10-21 09:43:13
我正在嘗試多頁 webpack 配置,并且有一個(gè)關(guān)于如何為登錄頁面加載圖像與網(wǎng)站上其他頁面不同的問題。登錄頁面構(gòu)建到根目錄,而其他頁面構(gòu)建到它們各自的子文件夾。Webpack../images/為其他頁面附加了正確的相對路徑,但是登錄頁面需要保持為images/,因?yàn)樗c圖像文件夾一起位于根目錄中。如何配置 webpack<img src="images/00.jpg">以使登錄頁面保持不變,但<img src="../images/00.jpg">對所有其他頁面進(jìn)行更新?這是源文件夾:/ src /   -home.html   -about.html   js/      -home.js      -about.js   images/      -00.jpg      -01.jpg   scss/      -style.scss這是 webpack 生成的構(gòu)建文件夾:/ public_html /   -index.html   // relative links in this file become broken :(   -bundle.js   about/      -index.html      -bundle.js   images/      -00.jpg      -01.jpg   css/      -style.css最后,這里是 webpack 的配置。請?jiān)彺a墻,我決定包含整個(gè)配置,以防有更好的方法來設(shè)置它。// webpack.config.jsconst webpack = require('webpack');const path = require('path');const HtmlWebPackPlugin = require("html-webpack-plugin");const MiniCssExtractPlugin = require("mini-css-extract-plugin");const { CleanWebpackPlugin } = require('clean-webpack-plugin');module.exports = { entry: {   home: './src/js/home.js',   about: './src/js/about.js',  }, output: {   filename: (pathData) => {     return pathData.chunk.name === 'home' ? 'bundle.js' : '[name]/bundle.js';   },   path: path.resolve(__dirname, 'public_html') }, module: {   rules: [     {       test: /\.js$/,       exclude: /node_modules/,       use: {         loader: "babel-loader"       }     },{       test: /\.html$/,       use: [         {           loader: "html-loader",           options: { minimize: true }         }       ]     },{       test: /\.css$/,       use: [MiniCssExtractPlugin.loader, "css-loader"]     },{       test: /\.sass$|\.scss$/,       use: [         MiniCssExtractPlugin.loader,         { loader: 'css-loader' },         { loader: 'sass-loader' },       ],     }謝謝!另外,讓我知道你喜歡這個(gè)配置文件!
查看完整描述

2 回答

?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊

我有它的工作。萬歲!


我從來沒有最終使用publicPath. 也許有辦法改變它,但這最終成為了一條紅鯡魚。相反,我重組了我的src目錄以遵循我正在尋找的模式,并刪除了路徑,html-loader因此在構(gòu)建過程中路徑不會改變。


這是我的新源目錄:


/ src /

  -home.html

  templates/

    -about.html

  js/

    -home.js

    -about.js

  images/

    -00.jpg

    -01.jpg

  scss/

    -style.scss

您可以看到home.html是故意在主目錄上而不是在/templates. images/圖像源在home.html和其他地方引用../images/。


現(xiàn)在html-loader,我copy-webpack-plugin以前需要 / 將圖像從源目錄復(fù)制到構(gòu)建文件夾,而不是 ,就像html-loader在構(gòu)建過程中更改路徑一樣。我試了幾次才發(fā)現(xiàn)這html-loader是罪魁禍?zhǔn)住?/p>


這是我最后的工作 webpack 配置記錄。


// webpack.config.js


const webpack = require('webpack');

const path = require('path');


const HtmlWebPackPlugin = require("html-webpack-plugin");

const MiniCssExtractPlugin = require("mini-css-extract-plugin");

const { CleanWebpackPlugin } = require('clean-webpack-plugin');

const CopyPlugin = require('copy-webpack-plugin');


module.exports = {

 context: path.resolve(__dirname, 'src'),

 entry: {

   home: './js/home.js',

   about: './js/about.js',

  },

 output: {

   filename: (pathData) => {

     return pathData.chunk.name === 'home' ? 'bundle.js' : '[name]/bundle.js';

   },

   path: path.resolve(__dirname, 'public_html')

 },

 module: {

   rules: [

     {

       test: /\.js$/,

       exclude: /node_modules/,

       use: {

         loader: "babel-loader"

       }

     },{

       test: /\.css$/,

       use: [MiniCssExtractPlugin.loader, "css-loader"]

     },{

       test: /\.sass$|\.scss$/,

       use: [

         MiniCssExtractPlugin.loader,

         { loader: 'css-loader' },

         { loader: 'sass-loader' },

       ],

     },{

       test: /\.(jpg|png|svg)$/,

       use: [

         {

           loader: 'file-loader',

           options: {

             name: '[path][name].[ext]'

           }

         }

       ]

     }

   ]

 },

 plugins: [

    new CopyPlugin({

      patterns: [

        {from:'./image',to:'image'} 

      ],

    }),

    new HtmlWebPackPlugin({

      hash: true,

      filename: 'index.html',      // landing page remains in root directory

      template: 'index.html',

      chunks: ['home']

   }),

    new HtmlWebPackPlugin({

      hash: true,

      filename: 'about/index.html', // all other pages move to subdirectories

      template: 'templates/about.html',

      chunks: ['about']

   }),

   new MiniCssExtractPlugin({

      filename: "style.css"

   }),

   new CleanWebpackPlugin()

 ]

};



查看完整回答
反對 回復(fù) 2022-10-21
?
MYYA

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊

我以這種方式解決了問題。

  1. 在視圖上導(dǎo)入圖像

Import YourImage from '../../public/assets/img/your-image.png';

  1. 在需要的地方調(diào)用并實(shí)施它們

src={YourImage}

或者在你的 classNames

background-image: `url(${YourImage})`

  1. 在 webpack.config.js 文件的規(guī)則部分從 GitHub 配置項(xiàng)目存儲庫的路徑。

存儲庫:“https://maikpwwq.github.io/your-repository/”

rules: [ { type: "asset", test: /\.(png|svg|jpg|gif|jpeg)$/i, use: [{ options: { publicPath: '/your-repository/'}, loader: 'file-loader' ]} } ]


查看完整回答
反對 回復(fù) 2022-10-21
  • 2 回答
  • 0 關(guān)注
  • 109 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號