当前位置:  开发笔记 > 编程语言 > 正文

Webpack css-loader没有建立

如何解决《Webpackcss-loader没有建立》经验,为你挑选了0个好方法。

我很难在我的JSX文件上使用css-loader获取CSS加载.我跟随的例子来自:

https://christianalfoni.github.io/react-webpack-cookbook/Loading-CSS.html

这是我的JSX

import React from 'react';
import ReactDOM from 'react-dom';
import styles from './styles.css';
class Hello extends React.Component {
  render() {
    return 
Hello world!
} } var el = document.getElementById('content') var data = JSON.parse(el.getAttribute('data-attr')) ReactDOM.render(, el);`

这是我的package.json

  "devDependencies": {
    "babel-core": "^6.3.26",
    "babel-loader": "^6.2.0",
    "babel-preset-es2015": "^6.3.13",
    "babel-preset-react": "^6.3.13",
    "css-loader": "^0.23.1",
    "exports-loader": "~0.6.2",
    "expose-loader": "~0.6.0",
    "grunt": "^0.4.5",
    "grunt-babel": "^6.0.0",
    "grunt-cli": "^0.1.13",
    "grunt-contrib-watch": "^0.6.1",
    "grunt-webpack": "^1.0.11",
    "history": "^1.17.0",
    "imports-loader": "~0.6.3",
    "jquery": "^2.1.4",
    "lodash": "~3.0.0",
    "react": "^0.14.5",
    "react-dom": "^0.14.5",
    "react-router": "^1.0.3",
    "style-loader": "^0.13.0",
    "webpack": "^1.12.9",
    "webpack-dev-server": "^1.14.0"
  },
  "dependencies": {
    "chunk-manifest-webpack-plugin": "0.0.1",
    "grunt-react": "^0.12.3"
  }

这是我的Webpack.config.js

var path = require('path');
var webpack = require('webpack');

var config = module.exports = {
  // the base path which will be used to resolve entry points
  context: __dirname,
  // the main entry point for our application's frontend JS
  entry: './app/frontend/javascripts/entry.js',
  stats: {
        // Configure the console output
        colors: true,
        modules: true,
        reasons: true
    },
  progress: true,
  keepalive: true,
  module: {
    loaders: [
      {
        test: /\.js?$/,
        exclude: /(node_modules|bower_components)/,
        loader: 'babel-loader', // 'babel-loader' is also a legal name to reference
        query: { presets: ['es2015', 'react'] }
      },
      { test: /\.css$/, loader: "style-loader!css-loader" }
    ]
  },
  output: {
    // this is our app/assets/javascripts directory, which is part of the Sprockets pipeline
    path: path.join(__dirname, 'app', 'assets', 'javascripts'),
    // the filename of the compiled bundle, e.g. app/assets/javascripts/bundle.js
    filename: 'bundle.js',
    // if the webpack code-splitting feature is enabled, this is the path it'll use to download bundles
    publicPath: '/assets',
    devtoolModuleFilenameTemplate: '[resourcePath]',
    devtoolFallbackModuleFilenameTemplate: '[resourcePath]?[hash]',
  },
  resolve: {
    // tell webpack which extensions to auto search when it resolves modules. With this,
    // you'll be able to do `require('./utils')` instead of `require('./utils.js')`
    extensions: ['', '.js'],
    // by default, webpack will search in `web_modules` and `node_modules`. Because we're using
    // Bower, we want it to look in there too
    modulesDirectories: [ 'node_modules', 'bower_components' ],
  },

  plugins: [
    // we need this plugin to teach webpack how to find module entry points for bower files,
    // as these may not have a package.json file
    new webpack.ResolverPlugin([
      new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('.bower.json', ['main'])
    ]),
    new webpack.ProvidePlugin({
      $: 'jquery',
      jQuery: 'jquery',
    }),
    //new webpack.optimize.CommonsChunkPlugin('common-bundle.js'),
    //new webpack.optimize.CommonsChunkPlugin('public-bundle.js')
  ]
};

这是我的styles.css

#div {
 background-color: red;
}

我从运行我的grunt任务得到的输出附加运行'webpack':你可以看到它说CSS的构建失败的地方.

       cjs require fbjs/lib/mapObject [154] ./~/react/lib/ReactDOMFactories.js 18:16-45
 [157] ./~/react/lib/onlyChild.js 1.21 kB {0} [built]
       cjs require ./onlyChild [153] ./~/react/lib/ReactIsomorphic.js 24:16-38
 [158] ./~/react/lib/deprecated.js 1.77 kB {0} [built]
       cjs require ./deprecated [3] ./~/react/lib/React.js 19:17-40
 [159] ./~/react-dom/index.js 63 bytes {0} [built]
       cjs require react-dom [0] ./app/frontend/javascripts/entry.js 11:16-36

ERROR in ./app/frontend/javascripts/styles.css
Module parse failed: /Users/Booboo/Projects/Xeon/app/frontend/javascripts/styles.css Line 1: Unexpected token {
You may need an appropriate loader to handle this file type.
| div {
|  background-color: red;
| }
 @ ./app/frontend/javascripts/entry.js 5:0-23
Warning: Task "webpack:dev" failed. Use --force to continue.

Aborted due to warnings.
Booboo$ grunt react && grunt webpack && grunt watch

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有