新手问题 [已解决] webpack 入口文件里 require 依赖文件后,怎么调用里面的方法?

killpigman · 2016年03月25日 · 最后由 killpigman 回复于 2016年03月25日 · 2464 次阅读
// main1.js
function add() {
           document.write('<h2>Hello Webpack</h2>');
}
// main2.js
require("main1");
//在这里require之后,直接调用add()方法,会报add is not defined
module.exports = {
  entry: {
    bundle: './main2.js',
  },
  output: {
    filename: '[name].js'
  }
};

如何在 main2 里调用 main1 里的方法?

webpack 参考 CommonJS 标准,所以在你的 main1.js 里需要 exports 出来

function add() {
  document.write('<h2>Hello Webpack</h2>');
}

module.exports = add;

main2.js 里要这么使用

add = require('main1');
add()

#1 楼 @hz_qiuyuanxin 感谢。 刚去学习了 Node.js 的模块 与 Commonjs 规范 是我的学习顺序有问题

#1 楼 @hz_qiuyuanxin 还想请教一个问题。 我是在改写公司以前的代码,有一个 utils.js

//utils.js
function a() {
}
function b() {
}
function c() {
}

我是不是要把里面的方法一个一个的 exports?

var utils = require("utils")

然后再到每个使用了 utils 里方法的地方,加上 utils.

#3 楼 @killpigman

module.exports = {
  a: a,
  b: b,
  c: c
};
var utils = require('utils');

utils.a();
utils.b();
utils.c();

#4 楼 @hz_qiuyuanxin 收到,谢谢解答。

#4 楼 @hz_qiuyuanxin

String.format = function() {
};
Date.prototype.Format = function() {
};

像这类方法该如何 exports?

这种不需要 exports, 直接在其他文件的前面 require 就可以了,就是运行一下产生副作用。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号