1

我用纯JS语法编写了3个模块(Model,View,Controller)。 我的意思是这样的:如何使用模块模式在es5中实现'ES6 imports'

var Model = (function() { 
    //... 
})(); 

var View = (function() { 
    //... 
})(); 

var Controller = (function (model, view) { 
    //do the job... 
})(Model, View); 

我如何可以模拟使用JS(ES5.1)进口/出口? 我只想使用JS将代码划分为单独的文件。

我试图通过transpile通天ES6进口,并将其与创建一样成才:

var model = require('model'); 

但是当我添加到我的代码,我得到错误“规定是不允许的”

// *我不想在项目中使用巴贝尔

+0

你要什么有在结束了吗?你是否想要一个将你的所有文件合并到生产环境中的构建器?您是否要根据要求加载文件?模块本身很容易,问题是你将如何管理文件:在运行时或作为一个包预编译 – smnbbrv

+0

我正在使用webpack捆绑所有的结尾,但我想保持这个结构,我描述。只是想分成3个文件。 – Dizip

+0

aha,所以如果你使用webpack'require'应该已经适合你了。请记住https://webpack.js.org/concepts/module-resolution/:很可能你想为你的模块使用相对路径,但是目前你正在使用强制webpack查看'node_modules /模块”。使用'require('./ module')'或类似的 – smnbbrv

回答

-1

在现有model.js文件添加这一行到底

export default model; 

然后简单地改进现有的代码,尝试添加./模型前,像这样

var model = require('./model'); 
+0

export default是ES6语法的一部分。 – Dizip