【发布时间】:2015-08-09 22:30:26
【问题描述】:
我似乎无法使用 webpack 将我的 LESS 加载到我的页面中
这是我的webpack.config.js
var webpack = require('webpack');
var ExtractTextPlugin = require("extract-text-webpack-plugin");
module.exports = {
entry: [
'./app/index.js'
],
output: {
path: './public/js',
filename: 'main.js'
},
devtool: 'source-map',
module: {
loaders: [
{ test: /\.json$/, loader: 'json-loader' },
{ test: /\.jsx$/, loader: 'jsx-loader' },
{ test: /\.es6$/, exclude: /node_modules/, loader: 'babel-loader?stage=0&optional=runtime'},
{ test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader?stage=0&optional=runtime'},
{ test: /\.less$/, exclude: /node_modules/, loader: ExtractTextPlugin.extract("style-loader", "css-loader!less-loader") }
],
plugins: [
new ExtractTextPlugin('style.css', {
allChunks: true
})
]
}
};
我的app/index.js 包含:
'use strict';
let stylesheet = require('./styles/index.less');
let routes = require('./routes.js');
let Router = require('react-router');
let { Handler } = Router;
Router.run(routes, Router.HistoryLocation, function(root, state) {
React.render(<Handler query={ state } path={ state.pathname }/>, document.getElementById('app'))
});
var stylesheet 应该包含所有buttons.less,因为它包含@import "buttons.less";
这是我要加载的reactjs 组件:
var React = require('react');
var { RouteHandler } = require('react-router');
var UserMenu = React.createClass({
render() {
return (
<div>
<div id="login-btn">
<a href="/login">
<button type="button" className="btn btn-embossed btn-primary">Login</button>
</a>
</div>
<div id="signup-btn">
<a href="/signup">
<button type="button" className="btn btn-embossed btn-primary">Sign up</button>
</a>
</div>
</div>
);
}
})
var Layout = React.createClass({
render() {
console.log("layout props");
console.log(this.props);
return (
<div id="review-web">
<header className="header">
<UserMenu />
</header>
<div>
<RouteHandler path={ this.props.path } />
</div>
</div>
)
}
});
module.exports = Layout;
项目结构
【问题讨论】:
-
你在运行 webpack 时会得到什么输出?
-
@Jordan 这是我的 package.json:dpaste.com/0VZTM2A 当我运行 webpack(npm start 或 npm run start)时,我没有收到任何错误。我的页面加载就像没有包含样式表一样
-
好的,但是当你运行 webpack 时你会得到什么输出?
-
另外,样式加载器应该将
<link ref="stylesheet" ...>标签注入到你的文档中,你的浏览器应该下载它所引用的相应的.css文件。检查 DOM 以查看是否出现任何<link>标记,并查看“网络”选项卡以查看是否正在请求任何.css文件。 -
@Jordan 你去吧:dpaste.com/2QDZYQ5
标签: javascript less reactjs webpack