2016-07-10 18 views
6

Güncelleme - related: How to prepend module.exports = to webpack bundle?Webpack paketi gerektiriyor - boş nesneyi döndürür?


Ben webpack ben boş nesne olsun console.log(foo) zaman var foo = require("./foo.js")

var server.js bir düğümün içinde basit module.exports = "asdfasdf"-foo.js

derlemek var {}

Neyi yanlış yapıyorum?

Benim webpack yapılandırma:

module.exports = { 
    entry: "./test.js", 
    output: { 
     filename: "./foo.js" 
    }, 
    target: "node", 
    module: { 
     loaders: [ 
      { 
       exclude: /(node_modules|bower_components)/, 
       loader: "babel?presets[]=react,presets[]=es2015" 
      } 
     ] 
    }, 
    devtool: "#source-map" 
}; 
+0

Derlenmiş 'foo.js' içeriğinin içeriğini kaydeder misiniz? – TN1ck

cevap

8

Sana libraryTarget -ayarlama eksik olduğunu düşünüyorum. Yapılandırmaya libraryTarget: "commonjs2" eklemek sorunu çözmelidir. See the webpack-docs about it. Ben set bile Babel 6. ile babel-yükleyici kullanırken Benim durumumda

3

Ben aynı sorun var

"libraryTarget": "commonjs2" 

Ben sonuçlar var: İsterseniz

const foo = require('some-module'); 
console.log(foo) // is {} 

const bar = require('some-module').default; 
console.log(bar) // is default export of 'some-module' 

:

const foo = require('some-module'); 
console.log(foo) // is default export of 'some-module' 

Şunları kullanabilirsiniz: babel-plugin-add-module-exports

GÜNCELLEME: Bunun için babel-eklentisi kullanarak önermiyoruz WebPack ait

yazarları.

WebPack 3 seçenek output.libraryExport (o don `t edilir şimdi ayrıntılı dokümanlar var)

Bu

output.libraryExport: 'default' 

gibi çalıştı ve bu sorunu resovled vardır.

İlgili konular