Π import, ΠΈ require Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
@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
Π‘ΡΡΡΠΊΡΡΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ:
ΠΠΎΠΉ 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/
Π ΡΡΠΎ Π²ΡΠ΅ΠΌΡ URL-Π°Π΄ΡΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² LoginPage.less
Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ
.list {
width: 100%;
margin-bottom: .6rem;
background: url("../assets/bg.png");
}
https://github.com/dvajs/dva/issues/96#issuecomment -247935310
ΠΡΠΎΠ΄Π΅ ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΡΠΎ ΠΈ ΡΡΠ°.
ΠΠΎΡΠ»Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΎΡΠ»Π°Π΄ΠΎΠΊ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΡΡΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ *.less
Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π½Π°ΠΉΠ΄Π΅Π½ ΠΈΠ· ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° . ΠΠ°ΡΡΠΈΠ½ΠΊΠ° Π½ΠΈΠΆΠ΅:
Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ Π½Π°ΡΠΈΠΌ ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΏΡΠΈΠ²ΡΡΠΊΠ°ΠΌ, ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΈΡΠΈΡΠ΅ background: url("./bg.png");
Π½Π°ΠΏΡΡΠΌΡΡ, Π½ΠΎ Π·Π΄Π΅ΡΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π½ΠΈΠ·.
ΠΡΠΎΠ±ΠΎΠ²Π°Π», Π΅ΡΡΡ Π΄Π²Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ:
.less
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ .css
background: ~"url(./bg.png)" no-repeat
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΡ, ΡΡΠΎΠ±Ρ Π²Π²Π΅ΡΡΠΈ:
1. @imgUrl : "../ star.jpg"; ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ°ΠΉΠ» less, ΡΠ°ΠΉΠ» css Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ @ I'mUrl: " star.jpg ";
2.background: url ("@ {imgUrl}"); ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΠΈ ΡΡΡΠΎΠΊ, ΡΡΠΎΠ±Ρ Π²Π²Π΅ΡΡΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ~ "" Π€ΠΎΠ½ Π² ΠΊΠ°Π²ΡΡΠΊΠ°Ρ
ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ: ~ "url (' ../star .jpg ') ";
ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
background: ~"url('../star.jpg')"
ΠΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π΄ΡΡΠ³ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡΡ
ΡΠΎΠ½: ~ "url ('../ star.jpg')" Π΄ΠΎΡΡΡΠΏΠ΅Π½
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡ ~ ΠΊ URL-Π°Π΄ΡΠ΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ background: ~ "url (./ bg.png)", ΡΡΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΎΠ±ΠΎΠ²Π°Π», Π΅ΡΡΡ Π΄Π²Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ:
.less
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅.css
background: ~"url(./bg.png)" no-repeat