如何将CSS文件导入到Component .jsx文件中

我正在尝试像这样使用react-day-pickers组件,但是我不知道如何导入.css文件,并且不断收到错误:

Module parse failed:

/Users/qliu/Documents/workspace/AppNexus/pricing_ui/contract-ui/app_contract-ui/node_modules/react-day-picker/lib/style.css Unexpected token (3:0)

You may need an appropriate loader to handle this file type.

SyntaxError: Unexpected token (3:0)

我已经"css-loader": "^0.19.0",安装了package.json,这是我的Calender.jsx文件:

import React from "react";

import DayPicker, { DateUtils } from "react-day-picker";

import "../../../node_modules/react-day-picker/lib/style.css"; // <==== ERROR ON THIS LINE

export default class Calender extends React.Component {

state = {

selectedDay: null

};

handleDayClick(e, day, modifiers) {

if (modifiers.indexOf("disabled") > -1) {

console.log("User clicked a disabled day.");

return;

}

this.setState({

selectedDay: day

});

}

render() {

// Add the `selected` modifier to the cell of the clicked day

const modifiers = {

disabled: DateUtils.isPastDay,

selected: day => DateUtils.isSameDay(this.state.selectedDay, day)

};

return <DayPicker enableOutsideDays modifiers={ modifiers } onDayClick={ this.handleDayClick.bind(this) } />;

}

}

这是我的webpack.config.js:

var path = require('path');

var webpack = require('webpack');

var settings = require('./src/server/config/settings');

var LessPluginAutoPrefix = require('less-plugin-autoprefix');

module.exports = {

devtool: '#source-map',

resolve: {

extensions: ['', '.jsx', '.js']

},

entry: [

'webpack-hot-middleware/client',

'./src/client/index.jsx'

],

externals: {

'react': 'React',

'react-dom': 'ReactDOM',

// to avoid duplicate import of React with react-addons-css-transition-group

'./React': 'React',

'./ReactDOM': 'ReactDOM',

config: 'config'

},

output: {

path: path.join(__dirname, 'public'),

filename: 'bundle.js',

publicPath: '/'

},

plugins: [

new webpack.HotModuleReplacementPlugin(),

new webpack.NoErrorsPlugin()

],

lessLoader: {

lessPlugins: [

new LessPluginAutoPrefix({ browsers: ['last 2 versions'] })

]

},

module: {

loaders: [{

test: /\.(js|jsx)$/,

loaders: ['babel'],

exclude: /node_modules/

},

{

test: /\.less$/,

loader: 'style!css!less'

},

{

test: /\.json$/,

loader: 'json-loader'

}]

}

};

回答:

您如何编译呢?如果是webpack,则可能需要引入样式加载器,并module.loaders在webpack配置中的数组中包含以下内容:

{

test: /\.css$/,

loader: "style!css"

}


:现在提供了webpack.config.js,我们可以确认它需要在module.loaders数组中进行更改。OP使用较少的加载程序,仅检查.less文件,因此确切的加载程序对象应为:

{

test: /\.(less|css)$/,

loader: 'style!css!less'

}

如@QLiu所建议。好像有人来​​导入.css文件时出错一样,这很可能就是他们所需要的。

以上是 如何将CSS文件导入到Component .jsx文件中 的全部内容, 来源链接: utcz.com/qa/411671.html

回到顶部