2016-11-30 99 views
0

我試圖將我的一個類暴露給全局。然而,eslint告訴我「窗口」是未定義的,這不是一個隱藏的問題,因爲即使關閉eslint,我的課程仍然無法訪問。Webpack:未定義窗口

這是我的WebPack配置:

export default { 
    output: { 
    filename: 'dist/client-bundle.js', 
    }, 
    devtool: 'source-map', 
    module: { 
    loaders: [ 
     { 
     test: /\.jsx?$/, 
     loader: 'babel-loader', 
     exclude: [/node_modules/], 
     }, 
    ], 
    }, 
    resolve: { 
    extensions: ['', '.js', '.jsx'], 
    }, 
}; 

我也在我package.json設置"env": { "browser": true },我可以看到window.myClass = classNameclient-bundle.js但它仍然無法正常工作。

回答

0

更改配置,解決了這個問題,也是全局變量無法訪問的原因之一是使用webpack-dev-server

export default { 
    output: { 
    filename: 'dist/client-bundle.js', 
    libraryTarget: 'var', 
    library: 'className' 
    }, 
    devtool: 'source-map', 
    module: { 
    loaders: [ 
     { 
     test: /\.jsx?$/, 
     loader: 'babel-loader', 
     exclude: [/node_modules/], 
     }, 
    ], 
    }, 
    resolve: { 
    extensions: ['', '.js', '.jsx'], 
    }, 
}; 
+0

將您自己的答案標記爲正確答案 –