Dva: less์—์„œ ์ฐธ์กฐ ๋œ ์‚ฌ์ง„์˜ ๊ฒฝ๋กœ ๋ฌธ์ œ

์— ๋งŒ๋“  2016๋…„ 10์›” 20์ผ  ยท  11์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: dvajs/dva

faq question

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์‹œ๋„ํ•œ ๊ฒฐ๊ณผ ๋‘ ๊ฐ€์ง€ ์†”๋ฃจ์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. .less ์‚ฌ์šฉํ•˜์ง€ ๋ง๊ณ  .css
  2. URL์— ~ ์ ‘๋‘์‚ฌ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค (์˜ˆ : background: ~"url(./bg.png)" no-repeat

๋ชจ๋“  11 ๋Œ“๊ธ€

๊ฐ€์ ธ ์˜ค๊ธฐ์™€ ์š”๊ตฌ ๋ชจ๋‘ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

@bjwulin .less ํŒŒ์ผ์„ ๊ฐ€์ ธ ์˜ค๊ฑฐ๋‚˜ ์š”๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

.less ํŒŒ์ผ ์•„๋ž˜์— ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ์†Œ๊ฐœํ•˜๋ ค๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.

.list {
  width: 100%;
  margin-bottom: .6rem;
  background: url('./bg.png') center no-repeat;
}

npm start ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ฝ˜์†”์—์„œ ์˜ค๋ฅ˜๋ฅผ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

ERROR in ./~/css-loader?sourceMap&modules&localIdentName=[local]___[hash:base64:5]!./~/postcss-loader!./~/less-loader?{"sourceMap":true,"modifyVars":{}}!./src/routes/LoginPage.less
    Module not found: Error: Cannot resolve module 'bg.png' in /Users/mcbird/workspace/cedar-mobile/src/routes
     @ ./~/css-loader?sourceMap&modules&localIdentName=[local]___[hash:base64:5]!./~/postcss-loader!./~/less-loader?{"sourceMap":true,"modifyVars":{}}!./src/routes/LoginPage.less 6:304-321

๋ฌธ์„œ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
image

๋‚ด webpack.config.js ํŒŒ์ผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

const fs = require('fs');
const path = require('path');

module.exports = function(webpackConfig, env) {
  webpackConfig.babel.plugins.push('transform-runtime');

  // Support hmr
  if (env === 'development') {
    webpackConfig.devtool = '#inline-source-map';
    webpackConfig.babel.plugins.push(['dva-hmr', {
      entries: [
        './src/index.js',
      ],
    }]);
  } else {
    webpackConfig.babel.plugins.push('dev-expression');
  }

  // ๅผ•ๅ…ฅ antd
  webpackConfig.babel.plugins.push(['import', {
    libraryName: 'antd-mobile',
    style: 'css',
  }]);

  // Support CSS Modules
  // Parse all less files as css module.
  webpackConfig.module.loaders.forEach(function(loader, index) {
    if (typeof loader.test === 'function' && loader.test.toString().indexOf('\\.less$') > -1) {
      loader.include = /node_modules/;
      loader.test = /\.less$/;
    }
    if (loader.test.toString() === '/\\.module\\.less$/') {
      loader.exclude = /node_modules/;
      loader.test = /\.less$/;
    }
    if (typeof loader.test === 'function' && loader.test.toString().indexOf('\\.css$') > -1) {
      loader.include = /node_modules/;
      loader.test = /\.css$/;
    }
    if (loader.test.toString() === '/\\.module\\.css$/') {
      loader.exclude = /node_modules/;
      loader.test = /\.css$/;
    }
  });

  return webpackConfig;
};

src/assets/ ์•„๋ž˜์— ์‚ฌ์ง„์„ ๋”ฐ๋กœ ๋„ฃ์–ด๋„ ๊ดœ์ฐฎ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค
image
์ด๋•Œ LoginPage.less ์˜ ๊ทธ๋ฆผ URL์€ ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

.list {
  width: 100%;
  margin-bottom: .6rem;
  background: url("../assets/bg.png");
}

https://github.com/dvajs/dva/issues/96#issuecomment -247935310
์ด๊ฒƒ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‹ค์–‘ํ•œ ๋””๋ฒ„๊น… ํ›„ *.less ํŒŒ์ผ์˜ ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ๋ฅผ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ฐพ์•„์•ผ ํ•จ์„ ๋ฐœ๊ฒฌ
image
์šฐ๋ฆฌ์˜ ์ผ๋ฐ˜์ ์ธ ์Šต๊ด€์— ๋”ฐ๋ฅด๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ background: url("./bg.png"); ์ง์ ‘ ์ž‘์„ฑํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋Œ์•„๊ฐ€์„œ ์•„๋ž˜๋ฅผ ์ฐพ์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

์‹œ๋„ํ•œ ๊ฒฐ๊ณผ ๋‘ ๊ฐ€์ง€ ์†”๋ฃจ์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. .less ์‚ฌ์šฉํ•˜์ง€ ๋ง๊ณ  .css
  2. URL์— ~ ์ ‘๋‘์‚ฌ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค (์˜ˆ : background: ~"url(./bg.png)" no-repeat

๋ฌธ์ž์—ด ๋ณด๊ฐ„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ์„ ๋„์ž… ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
1. @imgUrl : "../ star.jpg"; ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๊ทธ๋ฆผ์˜ ๊ฒฝ๋กœ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆผ์ด๊ณ  ํŒŒ์ผ์ด ๋” ์  ์œผ๋ฉด css ํŒŒ์ผ์ด ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ์Šต๋‹ˆ๋‹ค. @ I'mUrl : " star.jpg ";
2.background : url ( "@ {imgUrl}"); ๋ฌธ์ž์—ด ๋ณด๊ฐ„ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •์  ์ด๋ฏธ์ง€๋ฅผ ๋„์ž… ํ•  ์ˆ˜ ์žˆ๋„๋ก ์†Œ๊ฐœํ•˜๊ณ  ~ ""๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์šฉ ๋ถ€ํ˜ธ ์•ˆ์˜ ๋ฐฐ๊ฒฝ์€ ์ปดํŒŒ์ผ์„ ํ”ผํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ~ "url ( ' ../star .jpg ') ";

์‚ฌ์šฉํ•˜๊ธฐ ์ •๋ง ์–ด๋ ต์Šต๋‹ˆ๋‹ค

background: ~"url('../star.jpg')" ์ด ๋ฐฉ๋ฒ•์€ ๋‚ด ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ฐฐ๊ฒฝ : ~ "url ( '../ star.jpg')"์‚ฌ์šฉ ๊ฐ€๋Šฅ

URL์— ~ ์ ‘๋‘์‚ฌ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค (์˜ˆ : background : ~ "url (./ bg.png)"์‚ฌ์šฉ ๊ฐ€๋Šฅ).

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰