Dva: рдХрдо рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдкрде рд╕рдорд╕реНрдпрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 20 рдЕрдХреНрддреВре░ 2016  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dvajs/dva

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдХреЛрд╢рд┐рд╢ рдХреА, рджреЛ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ:

  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: " рд╕реНрдЯрд╛рд░.рдЬреЗрдкреАрдЬреА";
2.рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб: url("@{imgUrl}"); рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдк рд╕реНрдерд┐рд░ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкреЗрд╢ рдХрд░ рд╕рдХреЗрдВ, рдЖрдк ~"" рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдореЗрдВ рдкреГрд╖реНрдарднреВрдорд┐ рд╕рдВрдХрд▓рди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ: ~"url(' ../рд╕реНрдЯрд╛рд░ .jpg')";

рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдард┐рди рд╣реИ

background: ~"url('../star.jpg')" рдЗрд╕ рддрд░рд╣ рд╕реЗ рдореЗрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдиреНрдп рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ

рдкреГрд╖реНрдарднреВрдорд┐: ~"url('../star.jpg')" рдЙрдкрд▓рдмреНрдз рд╣реИ

url рдореЗрдВ ~ рдЙрдкрд╕рд░реНрдЧ рдЬреЛрдбрд╝реЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рдкреГрд╖реНрдарднреВрдорд┐: ~"url(./bg.png)" рдпрд╣ рдЙрдкрд▓рдмреНрдз рд╣реИ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ufohjl picture ufohjl  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mclouvem picture mclouvem  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

oldfeel picture oldfeel  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pengfeiWang picture pengfeiWang  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

seamys picture seamys  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ