2016-06-28 57 views
5

我正在關注Angular With Webpack的演講。
我正在嘗試添加較少的加載程序並且不斷收到錯誤。
在webpack中使用LESS和es6

ERROR in ./src/app.js 
Module not found: Error: Cannot resolve 'file' or 'directory' ../style.less in D:\projects\dev\webpack-angular-demo/src 
@ ./src/app.js 3:0-24 

webpack.config.js爲:

module.exports = { 
    context: __dirname + '/src', 
    entry:'./app.js', 
    module:{ 
     loaders:[ 
      { 
       //create working environment for es6 need to npm i babel-loader babel-core babel-preset-es2015 -D 
       //https://github.com/babel/babel-loader 
       test:/\.js$/, 
       exclude:'/node_modules', 
       loader:'babel', 
       query: { 
        presets: ['es2015'] 
       } 
      }, 
      { 
       //take less convert to css and inject to style tag need to: npm i css-loader less-loader less style-loader -D 
       //https://github.com/webpack/less-loader 
       test:/\.less$/, 
       exclude:'/node_modules', 
       loader:"style!css!less" 
      }   
     ] 
    } 
}; 

app.js爲:

import '../style.less'; 
class Log{ 
    constructor(){ 
     console.log("sdfsdf"); 
    } 
} 
new Log(); 

裏面的SRC目錄我有app.js,index.html和樣式。少文件。

最後,這是我的的package.json文件:

{ 
    "name": "webpack-angular-demo", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "author": "", 
    "license": "ISC", 
    "devDependencies": { 
    "babel-core": "^6.10.4", 
    "babel-loader": "^6.2.4", 
    "babel-preset-es2015": "^6.9.0", 
    "css-loader": "^0.23.1", 
    "less": "^2.7.1", 
    "less-loader": "^2.2.3", 
    "style-loader": "^0.13.1", 
    "webpack": "^1.13.1", 
    "webpack-dev-server": "^1.14.1" 
    } 
} 


爲什麼我收到此錯誤的任何想法?
感謝

回答

4

我有完全相同的問題,像你這樣的。我設法通過微小的改變來解決這個問題。

path.join(__dirname, 'src') 

而不是使用:

__dirname + '/src/ 
現在

,請確保您的webpack.config.js樣子:

var path = require('path'); 

module.exports = { 
context: path.join(__dirname, 'src'), 
... 

,當我輸入我用像style.less以上

import './style.less'; 
+1

就是這樣!非常感謝。我會盡力找到'爲什麼'。 TNX – gilad

1

如果所有文件都在同一個目錄(src),在app.js第一行應該是:

import './style.less';

+0

將此修復結果應用於更多錯誤:
./src/style.less中的錯誤 未找到模塊:錯誤:無法解析'file'或'directory'./../node_modules/ D:\ projects \ dev \ webpack中的css-loader/index.js -angular-demo/src @ ./src/style.less 4:14-116 ./src/style.less中的錯誤 未找到模塊:錯誤:無法解析'文件'或'目錄'./。 ./node_modules/ D:\ projects \ dev \ webpack-angular-demo/src中的style-loader/addStyles.js @ ./src/style.less 7:13-68 – gilad

+0

使用兩個點使用正確的加載程序因此排除規則正在運行。現在,排除不起作用,並且也搜索node_modules文件夾。我想.... – gilad

+0

如果我嘗試用你的確切設置和我的建議來運行'webpack-dev-server',它運行良好。你能否確認所有的模塊已經安裝/可能再次運行'npm install'? –