当前位置: 首页 > 面试题库 >

从外部调用Webpacked代码(HTML脚本标记)

苏翰学
2023-03-14
问题内容

假设我有这样的类(用打字稿编写),并将其与webpack捆绑在一起bundle.js

export class EntryPoint {
    static run() {
        ...
    }
}

在我的index.html中,我将包含该捆绑包,但随后我也想调用该静态方法。

<script src="build/bundle.js"></script>
<script>
    window.onload = function() {
        EntryPoint.run();
    }
</script>

但是,EntryPoint在这种情况下,未定义。那我该如何从另一个脚本中调用捆绑的javascript?


问题答案:

看来您想将webpack捆绑包公开为一个库。您可以将webpack配置为在自己的变量(如)中在全局上下文中公开您的库EntryPoint

我不知道TypeScript,所以该示例改用普通JavaScript。但是这里重要的是webpack配置文件,尤其是本output节:

webpack.config.js

module.exports = {
  entry: './index.js',
  output: {
    path: './lib',
    filename: 'yourlib.js',
    libraryTarget: 'var',
    library: 'EntryPoint'
  }
};

index.js

module.exports = {
  run: function () {
    console.log('run from library');
  }
};

然后,您将可以像期望的那样访问您的库方法:

<script src="lib/yourlib.js"></script>
<script>
  window.onload = function () {
    EntryPoint.run();
  };
</script>


 类似资料:
  • 问题内容: 我有一个程序和一个脚本,希望将其合并到我的Web应用程序中。 我想使用它们来解析上传到我的网站的文件;处理过程可能需要几秒钟,因此我也避免阻止该应用程序。 我如何才能只接受文件,然后仅在控制器的子过程中运行程序和脚本? 问题答案: 参见child_process。这是一个使用的示例,它允许您在输出数据时写入stdin并从stderr / stdout中读取。如果您不需要写stdin并且

  • 问题内容: 通过使用Java Scripting API,我能够在Java中执行JavaScript。但是,有人可以解释一下我需要添加到此代码中以便能够调用C:/Scripts/Jsfunctions.js中的函数吗? 问题答案: 使用读剧本

  • 通过使用Java脚本API,我能够在Java中执行JavaScript。但是,有人能解释一下,为了能够调用C:/scripts/jsfunctions.js中的函数,我需要在这段代码中添加什么内容吗

  • 问题内容: 如何从python代码调用Shell脚本? 问题答案: 该子模块将帮助你。 显而易见的例子: 其中是一个简单的shell脚本,它是此运行的返回值。

  • 问题内容: 如何在Java中调用node.js并将console.log值保存在String变量中? 问题答案: Java应用程序可能与正在运行的Node.JS应用程序进行通信。例如,您可以在可用端口上运行Node.JS应用,而Java应用可以通过tcp套接字与之通信。 http://nodejs.org/api/net.html 或者,您可以创建一个http服务器并公开Java应用程序可以使用的

  • 问题内容: 我的iOS应用程序中有.html文件。HTML文件具有少量带有onClick方法的div块。当我点击这些块时,我会在Web视图中调用一些javascript代码,但我还需要在源代码中了解这些事件。 例如,当我点击Web元素并调用onClick时,我需要在代码中调用某些方法,例如 我可以做这个东西吗?谢谢。 问题答案: 在JS中调用Objective-C的方法: 下面的网址有助于做到这一