首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpack 2不同js文件中的可访问函数

Webpack 2不同js文件中的可访问函数
EN

Stack Overflow用户
提问于 2017-02-17 23:11:42
回答 1查看 2.2K关注 0票数 5

刚刚开始使用webpack-2,有一个关于全局函数的问题。将这些函数放在名为showPictures.js的js文件中

代码语言:javascript
复制
function isEmpty(el) {
    var result = !$.trim(el.html());
    return result;
}
function showPicturesList() {
    if (!isEmpty($('#picture-name-list'))) {
        var pictureList = document.getElementById("added-pictures");
        pictureList.style.visibility = 'visible';
    }
}

我在调用showPicturesList()函数的地方还有另一个文件util.js

代码语言:javascript
复制
window.onload = function(){
    showPictureList();
}

简单地使用js,我会将这两个脚本导入到我的html中,但是使用webpack,我可以为这两个脚本创建一个文件,所以我将这两个文件都添加为entry数组。我的输出文件bundle.js看起来应该包含这两个文件。问题是,从utils.js文件调用showPictureList()函数的最简单方法是什么,并且对js文件的更改最少?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-18 00:56:45

您可以使用ES2015/ES6模块导入已在另一个文件中导出的函数。通过添加export关键字,可以在showPictures.js文件中导出要公开的函数。

代码语言:javascript
复制
export function showPicturesList() {
    if (!isEmpty($('#picture-name-list'))) {
        var pictureList = document.getElementById("added-pictures");
        pictureList.style.visibility = 'visible';
    }
}

然后您需要将它们导入到您的util.js中。

代码语言:javascript
复制
import { showPicturesList } from './showPictures';

有关如何使用模块的详细信息,可以查看Exploring JS: Modules

这样你也不需要将两个文件都添加到你的webpack配置的entry中,因为webpack会看到导入的内容,并包含你正在导入的所有内容。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42301273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档