【发布时间】:2017-07-21 01:03:12
【问题描述】:
目前我正在尝试了解 Webpack 和 AMD。这是我为学习目的而编写的一个简单示例。我的问题是如何访问 Model()?这没有按预期工作,因为我的浏览器控制台给了我一个参考错误。我希望 Model 在全球范围内。
webpack.config.js:
var path = require('path');
var webpack = require('webpack');
const config = {
output : {
filename : '[name].bundle.js',
path : 'assets'
},
entry : {
main : ['./entry.js']
}
};
module.exports = config;
test.html:
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript" src="assets/main.bundle.js" charset="utf-8"></script>
</body>
</html>
entry.js:
require("./mod1");
test = new Model();
document.write(test.calculate());
mod1.js:
define([] ,function(){
return function(){
function Model() {
var model = this;
model.test = "bla";
model.calculate = function(){
return model.test + 45;
}
}
}
});
更新 1 经过一些实验后,我发现返回一个对象对我有用,只需更改 entry.js
mod1.js:
define([] ,function(){
var result = new Object();
result.Model = function(){
var model = this;
model.test = "bla";
model.calculate = function(){
return model.test + 45;
}
}
return result;
});
entry.js:
var mod1 = require("./mod1");
var test = new mod1.Model();
document.write(test.calculate());
此时有一个新问题。如果我希望 Model 可以全局访问怎么办?
【问题讨论】:
标签: javascript module amd webpack-2