2016-04-25 118 views
1

我很想用webpack导入一个css文件。我一直得到这个错误:Webpack没有找到我的css文件

ERROR in ./index.js 
Module not found: Error: Cannot resolve 'file' or 'directory' ../style/style.css in c:\developement\prja/app 
@ ./index.js 11:0-29 

我尝试了style.css的各种路径。像'css!../style/style.css','/style/style.css''./style/style.css'但它们都不起作用。我也尝试使用require而不是import。但我不断收到相同的错误信息。

任何想法?

我index.js切入点文件看起来是这样的:

import 'expose?$!expose?jQuery!jquery'; 
import angular from 'angular'; 
import 'bootstrap-webpack'; 
import '../style/style.css'; 

var ngModule = angular.module('app', []); 

的,这是我webpack.config.js:

module.exports = { 
    context: __dirname + '/app', 
    entry: './index.js', 
    output: { 
     path: __dirname + '/app', 
     filename: 'bundle.js' 
    }, 
    module: { 
     loaders: [ 
      { 
       test: /\.js$/, 
       exclude: /node_modules/, 
       loader: "babel-loader" 
      }, 
      { 
       test: /\.css$/, 
       loader: 'style-loader!css-loader' 
      }, 
      {test: /\.(woff|woff2)(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/font-woff'}, 
      {test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/octet-stream'}, 
      {test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file'}, 
      {test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=image/svg+xml'} 
     ] 
    } 

}; 

这是我的文件sctructure:

| lighthouse.iml 
| package.json 
| webpack.config.js 
| 
+---app 
|  index.html 
|  index.js  
|    
\---style 
     style.css 
+1

因为你的'context:__dirname +'/ app''。在这种情况下,webpack总是开始查看你的'/ app'文件夹。解决方案将您的样式文件夹移动到应用程序或从上下文属性中删除'/ app' –

+0

谢谢,解决了这个问题。随意添加这个答案,以便我可以接受它。 – BetaRide

回答

0

您的问题与context属性和你的文件结构有关。

context - 解决输入选项的基础目录(绝对路径!),webpack docs。换句话说,这是webpack开始查看您的应用的文件夹。这里是双向如何解决它:

  1. context属性中删除/app - >context: __dirname或者你甚至可以从你的weblack.config文件中删除context

  2. 移动你风格文件夹成app folder

Th anks!