我在index.js中有一个导出的模块,带有一个函数start(),我希望在我的HTML的body标签中调用 <body onload='App.start();'>

这是一个类似的问题我的答案我试过:Calling webpacked code from outside (HTML script tag)

以下是来自项目的代码:https://github.com/zv/tree <body onload="ZVTree.draw();">

require('babel-polyfill');
var path = require('path');
var dir_js = path.resolve(__dirname, 'src');
var dir_build = path.resolve(__dirname, 'build');

module.exports = {
    entry: path.resolve(dir_js, 'main.js'),
    output: {
        libraryTarget: 'var',
        library: 'ZVTree',
        path: dir_build,
        filename: 'zv-tree.js'
    },
    module: {
        loaders: [
            {
                loader: 'babel-loader',
                test: dir_js,
            }
        ]
    },
    // Create Sourcemaps for the bundle
    devtool: 'source-map',
    devServer: {
        contentBase: dir_build,
    }
};

这是我的代码,index.js截断:index.js:

module.exports = {

  start: function(){
    console.log('hey')
    intializeVariables()
    addListeners()

  }}

index.html的:

<script type='text/javascript' src='dist/bundle.js'></script>
</head>
<body onload = "App.start();">
<div id ='mainContainer'>

webpack.config.js:

module.exports = {
    entry: './index.js',
    output: {
        libraryTarget: 'var',
        library:'App',
        path: './dist',
        filename: 'bundle.js'
    },
    module: {
        loaders: [
            { test: /\.js$/, loader: 'babel', exclude: /node_modules/ }
        ]
    }

}

每次我在浏览器中运行项目时都会收到错误:Uncaught ReferenceError:应用程序未被定义为应该作为库公开时,如果我将整个内容放在脚本标记而不是正文中,它也将无法运行 . 非常感谢任何帮助或想法 .