javascript - Webpack - 从非模块文件加载函数?

标签 javascript webpack

假设我有一个文件:

//nonModuled.js
//A non moduled file  , let's say I can't "module" it

console.log('0');
function go(a)
    {
        console.log('go:' + a);
    }

我还有另一个文件想要获取 go 函数:

//1.js
require('./nonModuled.js');

当我运行 html 文件时,我确实看到了 console.log ,但我收到了 go 函数的错误:

enter image description here

我确实明白为什么会发生这种情况。另外 - 我知道我可以做这个补丁:

//nonModuled.js
//A non moduled file  , let's say I can't touch it

console.log('hello');
window.go = function go(a)
    {
        console.log('go:' + a);
    }

然后在 1.js 文件中,访问 window.go 但这看起来很笨拙。

所以我问:

问题:

如何正确获取go函数?

如果我能做这样的事情那就太好了:

var a= require('./nonModuled.js');
a.go()

有什么帮助吗?

最佳答案

如果您无法使 nonModule.js 正确导出 go,您可以使用 exports loader导入它:

const go = require('exports-loader?go!./nonModule.js');

关于javascript - Webpack - 从非模块文件加载函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42907837/

相关文章:

angular - 如何在 Angular 4 延迟加载中更改 chunk.js 名称

javascript - Webpack 从 2.7.x 升级到 4.5.x

webpack - 如何通过 Webpack 在文件上运行任意 bash 脚本而无需为每种文件类型维护加载程序?

Javascript:如何在派生类中覆盖之前调用基类函数?

javascript - 在php中的表中添加onclick事件

javascript - getElementById 麻烦

javascript - React 中的范围线组件

vue.js - 无法解析后台 url(...)

angularjs - karma-webpack 未运行测试

javascript - Highmaps 最小/最大颜色未按预期工作