๊ฐ์ ธ ์ค๊ธฐ์ ์๊ตฌ ๋ชจ๋ ๊ด์ฐฎ์ต๋๋ค.
@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/
์๋์ ์ฌ์ง์ ๋ฐ๋ก ๋ฃ์ด๋ ๊ด์ฐฎ๋ค๋ ๊ฒ์ ์์์ต๋๋ค
์ด๋ LoginPage.less
์ ๊ทธ๋ฆผ URL์ ์๋ ๊ฒฝ๋ก๋ฅผ ์ง์ ์์ฑํฉ๋๋ค.
.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"; ๋ฃจํธ ๋๋ ํ ๋ฆฌ์์ ๊ทธ๋ฆผ์ ๊ฒฝ๋ก๋ฅผ ์์ฑํฉ๋๋ค. ๊ทธ๋ฆผ์ด๊ณ ํ์ผ์ด ๋ ์ ์ผ๋ฉด 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