2016-06-04 2 views
0

У меня есть приложение, которое папки структурированы следующим образом:Webpack расслоение возвращает «Не удается найти модуль» для CSS

/app/ 
    |- /assets/ 
    | |- /css/ 
    |  |- myapp.css 
    |- index.html 
    |- index.js 
/dist/ 
/node_modules/ 
.babelrc 
package.json 
webpack.config.js 

myapp.css является простым, простым CSS, ничего особенного. Просто стиль на body, чтобы узнать, работает ли он. И мой webpack.config.js файл имеет следующее:

// In webpack.config.js 
var HtmlWebpackPlugin = require('html-webpack-plugin'); 
var HTMLWebpackPluginConfig = new HtmlWebpackPlugin({ 
    template: __dirname + '/app/index.html', 
    filename: 'index.html', 
    inject: 'body' 
}); 
module.exports = { 
    entry: [ 
    './app/index.js' 
    ], 
    output: { 
    path: __dirname + '/dist', 
    filename: "index_bundle.js" 
    }, 
    module: { 
    loaders: [ 
     {test: /\.js$/, exclude: /node_modules/, loader: "babel-loader"}, 
     {test: /\.css$/, loaders: ['style', 'css']} 
    ] 
    }, 
    plugins: [HTMLWebpackPluginConfig] 
}; 

Я поставил нужный файл CSS на index.js так:

var React = require('react'); 
var ReactDOM = require('react-dom'); 

require('assets/css/myapp.css'); 

var HelloWorld = React.createClass({ 
    render: function() { 
     return (
      <div> Hello ReactJs</div> 
     ) 
    } 
}); 

ReactDOM.render(
    <HelloWorld />, 
    document.getElementById('app') 
) 

Я перепробовал все способы, чтобы получить его загружен, добавив ../ перед тем активы слово, и everythig, но я просто продолжаю получать эту ошибку на консоли: Error: Cannot find module "assets/css/myapp.css"

У меня есть двойная проверка, и css-loader и style-loader находятся на папке .

Что я делаю неправильно? Я застрял на нем более 3 часов, проверяя десятки учебных пособий, и я сделал все это. Спасибо за помощь!

+1

Вы пробовали использовать require ('./ assets/css/myapp.css); вместо require ('assets/css/myapp.css); ? – QoP

+0

Да, только что видел ... Ты полностью против. Правильный ответ - ваш. –

ответ

2

Ну ... мне просто нужно добавить ./ к линии требуется, например:

require('./assets/css/myapp.css');

Надеется, что это помогает кому-то еще. Спасибо, @QoP