我在Linux上使用ECMAScript6。 这是我的文件系统(A、B和C是目录)。 A -> a.js
-> C -> c.js
B -> b.js
-> symbolic link (called C) to C 在a.js和b.js中有import class_C from './C/c.js'。 我可以在浏览器的开发人员窗口中看到c.js被加载了两次。 出于性能原因,我只想加载一次c.js。 我该怎么做(保留我的符号链接)?
我能找到的大多数动态模块都不是真正的动态模块,实际上是惰性加载程序,因为它们大多需要您在配置文件和寄存器中注册您想要加载的内容。
我正在寻找一个加载器js的方式使用约定,只是自动加载文件夹下的任何东西为我的一页应用程序。
类似于:
app
public
loader.js <-- no need to register anything manually
modules
module1
controllers
controller1.js
有人能确认我对ES模块的理解吗?
在javascripts/bar.js中
var foo = 2;
export function Bar() {}
在index.html中
<script>
import { Bar } from 'javascripts/bar';
var b = new Bar(); // Instantiates an instance of Bar.
</script>
在幕后,ES6引擎将在评估bar.js时加载import { Bar } from 'javascripts/bar';,
考虑以下两个文件: /* file A.js */
class A extends B {
}
/* file B.js */
class B {
} 如果我意外地以相反的顺序将这两个文件加载到浏览器中(首先是A.js,然后是B.js),javascript将抛出一个错误,即我正在尝试访问未定义的B。 我的问题是,我必须处理在Javascript中定义的大约30-40个类,现在,为了让所有的类都能工作,我必须记住我想要在页面中包含它们的顺序,否则,javascript将抛出一个错误,我正在使用未定义的东西。 我如何才能解决这个问题,这样我就不必时刻记住这些类被加载到网页中的顺序了?
我正在尝试使用Node运行一个Javascript文件,以便将博客更新发布到Tumblr。
到目前为止,在我的main.js文件中,我有以下内容:
// Tumblr Information
var tumblr = require('./vendor/tumblr');
tumblr.request(require('request'));
var Blog;
var jq = require('./vendor/jquery-1.11.1.min');
var reqq = require('./vendor/require'