javascript - Webpack 导出功能

标签 javascript webpack

我有一些 js 文件,每个文件都是一个具有唯一名称的独立函数,我想将所有这些文件打包成一个包所以我做了这段代码

module.exports = {
    entry: {
        app:[
            './file1.js',
            './file2.js',
            './file3.js',
            './file4.js'
        ],
    },
    output: {
        path: './dist/',
        filename: '[name].bundle.js'
    }
};

这是工作,我有我的包文件“.dist/app.bundle.js”

现在我在 HTML 正文中有一些 js 代码需要调用 bundle 中的函数, 如果我尝试调用函数“functionA”(在 file1.js 中定义),我会在浏览器控制台中收到此消息

Uncaught ReferenceError: functionA is not defined

问题是如何从 bundle 导出我的函数以将其导入到我的 HTML 代码中?

最佳答案

从入口点文件中导出内容不会使它们在全局范围内可用。您有两个选择 - 显式地将函数添加到 window 对象,如下所示:

window.functionA = functionA;

或者将您的构建配置为作为库输出:

// webpack.config.js - abridged
module.exports = {
    output: {
        library: "myModule",
        libraryTarget: "umd"
    }
};

我不知道后者如何与设置为文件数组的入口点交互 - 您可能必须制作一个导入所有文件的入口文件(main.js 或其他文件)的功能,然后重新导出它们包含在一个对象,或类似的东西。

关于javascript - Webpack 导出功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37858050/

相关文章:

javascript - 将 jquery 添加到 React 入门工具包

node.js - 如何让 "require"继续用于动态表达式

javascript - Webpacking jQuery 和自定义文件 : jQuery is undefined

javascript - 将导入的 vendor 文件拆分为 vendor 包

javascript - 根据用户的输入匹配用户并从中选择一个

javascript - 即时更改元素的 CSS 类

javascript - Angular Directive(指令)可以调用自己吗?

javascript - 从 Sequelize 获取查询结果,然后按结果运行刮刀作业结果

javascript - 如何在addEventListener中捕获两个相同的id但不同的类

javascript - 如何在创建 VueJS 实例之前*加载外部托管 (CDN) JS 库?