2015-05-26 2 views
3

Это, скорее всего, проблема с конфигурацией, но я новичок в Webpack и не смог понять это через несколько дней. Буду признателен за помощь!Webpack: сбой сборки модуля с jade-loader

Пакеты

  • WebPack 1.9.8
  • нефрита-погрузчик 0.7.1
  • нефрита 1.9.2

webpack.config.js

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

module.exports = { 
    // ... 
    resolve: { 
    extensions: ["", ".webpack.js", ".web.js", ".json", ".js", ".jade" ], 
    root: [ path.join(__dirname, 'src/js'), path.join(__dirname, 'node_modules') ], 
    modulesDirectories: ['node_modules'], 
    }, 
    module: { 
    loaders: [ 
     { test: /\.json$/, loader: "json-loader" }, 
     { test: /modernizr/, loader: "imports?this=>window!exports?window.Modernizr" }, 
     { text: /\.jade$/, loader: "jade-loader" } 
    ] 
    } 
    // ... 
}; 

С полностью пустым файлом ввода, я получаю следующую ошибку при попытке запустить webpack.

ERROR in ./~/jade/lib/runtime.js 
Module build failed: Error: unexpected token "indent" 
    at MyParser.Parser.parseExpr (/Users/name/project/code/assets/node_modules/jade/lib/parser.js:252:15) 
    at MyParser.Parser.parse (/Users/name/project/code/assets/node_modules/jade/lib/parser.js:122:25) 
    at parse (/Users/name/project/code/assets/node_modules/jade/lib/index.js:104:21) 
    at Object.exports.compileClientWithDependenciesTracked (/Users/name/project/code/assets/node_modules/jade/lib/index.js:256:16) 
    at Object.exports.compileClient (/Users/name/project/code/assets/node_modules/jade/lib/index.js:289:18) 
    at run (/Users/name/project/code/assets/node_modules/jade-loader/index.js:170:24) 
    at Object.module.exports (/Users/name/project/code/assets/node_modules/jade-loader/index.js:167:2) 
@ ./entry.js 1:11-85 

Если я на самом деле требуется нефритовый файл в entry.js, я получаю другую ошибку:

ERROR in ./entry.js 
Module build failed: Error: unexpected text ; 
var 
    at Object.Lexer.fail (/Users/name/project/code/assets/node_modules/jade/lib/lexer.js:871:11) 
    at Object.Lexer.next (/Users/name/project/code/assets/node_modules/jade/lib/lexer.js:930:15) 
    at Object.Lexer.lookahead (/Users/name/project/code/assets/node_modules/jade/lib/lexer.js:113:46) 
    at MyParser.Parser.lookahead (/Users/name/project/code/assets/node_modules/jade/lib/parser.js:102:23) 
    at MyParser.Parser.peek (/Users/name/project/code/assets/node_modules/jade/lib/parser.js:79:17) 
    at MyParser.Parser.tag (/Users/name/project/code/assets/node_modules/jade/lib/parser.js:752:22) 
    at MyParser.Parser.parseTag (/Users/name/project/code/assets/node_modules/jade/lib/parser.js:738:17) 
    at MyParser.Parser.parseExpr (/Users/name/project/code/assets/node_modules/jade/lib/parser.js:211:21) 
    at MyParser.Parser.parse (/Users/name/project/code/assets/node_modules/jade/lib/parser.js:122:25) 
    at parse (/Users/name/project/code/assets/node_modules/jade/lib/index.js:104:21) 

Однако, если я закомментировать нефрита погрузчик линии в webpack.config.js и требует файл с нефритом встроенный синтаксис require('jade!template.jade') - все работает нормально.

Любая идея, что случилось?

ответ

2

Конфигурация вашего веб-пакета содержит опечатку.

{ text: /\.jade$/, loader: "jade-loader" } 

должен быть

{ test: /\.jade$/, loader: "jade-loader" } 
    ^x -> s 
+0

Doh! Потребовал мне секунду, чтобы найти его, даже однажды указав. благодаря – user2922163

Смежные вопросы