2016-11-30 67 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

将您自己的答案标记为正确答案 –