2016-04-28 54 views
1

有像下面這樣(改編自奧萊利的模塊和資產捆綁在一起的WebPack http://my.safaribooksonline.com/video/web-development/9781771375887爲什麼我的玉器webpack loader不能正常工作?

const viewout = document.querySelector(".view"); 
const view = require('raw!jade-html?pretty=false!../views/index.jade'); 

viewout.innerHTML = view; 

其工作原理,但我想有玉在我的WebPack配置。於是,我就以下內容添加到我的裝載機陣列:

{ 
     test: /\.jade$/, 
     include: [ 
     Path.resolve(process.cwd(), 'client/views') 
     ], 
     loader: 'raw!jade-html?pretty=false!' 
} 

,然後我改變需要聲明,我的應用程序代碼

const view = require('../views/index.jade'); 

它給我的錯誤

ERROR in ./client/views/index.jade 
Module parse failed: 

因此,重申 - 加載程序解析並運行良好與原始的要求聲明,但不工作時,我把它做成一個配置設置 - 我做錯了什麼?

+0

當我停止我的WebPack --watch進程,並重新啓動我的失蹤路徑,而不是得到一個錯誤擺脫,我不得不改變我的Path.resolve是相對於之前的裝載機path.resolve這樣的路徑.resolve(process.cwd(),'../views')然後將我帶回到./client/views/index.jade中的ERROR 模塊解析失敗:...您可能需要一個合適的加載器來處理這個文件類型。 – user254694

回答

1

這是我用來從內聯加載器require語法轉換O'Reilly示例的webpack.config.js。

const Path = require('path'); 

const config = { 
    entry: { 
    app: ['babel-polyfill','./client/js/app'] 
    }, 
    output: { 
    path: './build', 
    filename: '[name]-bundle.js' 
    }, 
    devtool: 'source-map', 
    module: { 
    loaders:[{ 
     test: /\.js$/, 
     include: [ 
     Path.resolve(process.cwd(), 'client/js') 
     ], 
     loader: 'babel', 
     query: { 
     presets: ['es2015'] 
     } 
    }, 
    { 
     test: /\.jade$/, 
     include: [ 
     Path.resolve(process.cwd(), 'client/views') 
     ], 
     loaders: ['raw', 'jade-html?pretty=true'] 
    }] 
    }, 
    resolve: { 
    extension: ['', '.js'], 
    modulesDirectories: ['node_modules'] 
    } 
}; 

module.exports = config;