Rya*_*hel 4 javascript module global-variables ecmascript-6 babeljs
我正在尝试将代码迁移ES5到ES6并使用babel.我在代码中使用模块模式相当多,这样如果我有一个模块就像apple我会做这样的事情:
var appleModule = (function() {
var yummy = true;
var eat = function() { }
return { "eat": eat }
})();
Run Code Online (Sandbox Code Playgroud)
然后appleModule在另一个文件中访问.但是,当从这里移动所有东西:
<script type="text/javascript" src="/scripts/apple.js"></script>
<script type="text/javascript" src="/scripts/banana.js"></script>
Run Code Online (Sandbox Code Playgroud)
对此:
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.25/browser.js"></script>
<script type="text/babel" src="/scripts/apple.js"></script>
<script type="text/babel" src="/scripts/banana.js"></script>
Run Code Online (Sandbox Code Playgroud)
我无法再访问appleModule不同的文件.我得到一个ReferenceError说它不存在的说法.如何使用babel和ES6跨文件访问变量?
请实际阅读babel-browser的文档
不打算用于严肃的用途
在浏览器中编译具有相当有限的用例,因此如果您在生产站点上工作,则应该在服务器端预编译脚本.有关更多信息,请参阅setup build systems.
你不应该在生产环境中使用像这样的babel浏览器.实际上,即使是在开发项目中也是如此.
相反,为代码设置正确的构建步骤以转换和捆绑代码.
您甚至不必创建自己的模块
a.js
var yummy = true;
var eat = function(){};
export var eat;
Run Code Online (Sandbox Code Playgroud)
b.js
import {eat} from './a.js';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3611 次 |
| 最近记录: |