在JavaScript中使用ES6模块导出简单的变量
Using ES6 modules in JavaScript to export simple variables
我在JavaScript中定义pageId = 3
在一个文件和socket = io()
在另一个文件,我想在其他文件中使用这些变量。
我想我应该在ES6中使用模块,但我不确定如何做到这一点。
现在它确实有效,因为我在文件中定义了两个变量,这些变量是在我实际使用变量的文件之前加载的,但它似乎是糟糕的代码,我的代码IDE编辑器给了我一个警告,变量没有定义,因为它不能在当前文件中看到它。
我读了一些教程,但我仍然不明白如何在一个文件中定义一个变量并将其导出到其他文件。
只是
const pageId = 3;
const socket = io(); // which is defined in file 'socket.io-1.4.5.js' which is loaded before this file
module.exports = { pageId, socket };
,然后用
将其导入到其他文件中const pageId = require('pageId');
const socket = require('socket');
socket.on('connect', ...);
(...)
甚至不加载这些文件到任何地方?
嗯,我知道这听起来很傻(特别是pageId的例子),但有些情况下,甚至需要
假设你正在构建一个包含数百个模块的物理/数学库。这很有道理。只在一个地方声明数学常数只在需要的时候加载
可能一个一个地导出它们这不是最好的解决方案,但这是一个有效的解决方案
对于io对象。这对我来说也是有意义的声明它,改变一些配置值,然后,重新导出它,用新的配置,到处需要而不是创建一个新的,到处重新配置它(假设这种行为有效,我怀疑的东西)
无论如何,你的示例语法是不正确的…您不能以这种方式"要求"单个变量或函数。假设你的第一个文件名为"strange.js",应该这样做:
const pageId = require('strange').pageId
const socket = require('strange').socket;
相关文章:
- 简单地将拆分变量添加到对象中
- 简单的JS函数.需要对变量进行澄清
- 我怎么能让流星简单模式中的一个字段等于一个js变量,并且仍然让用户填写简单模式的其余部分
- 检查变量是否为字符串的简单方法
- 在javascript regexp中捕获多个变量的一种更简单的方法
- 简单的变量问题
- JavaScript:检查变量是否等于两个或多个值之一的简单方法
- 每次使用 Javascript 加载页面时增加一个数字(变量)的简单方法
- Javascript全局变量简单解决方案
- 简单的 Jquery 变量问题
- 使用 Javascript 或 jQuery 检索会话变量的简单快捷的方法
- javascript变量中的简单Iframe
- 什么's是处理多个js文件之间交互的简单方法,同时避免溢出全局变量
- Javascript变量未显示在简单的HTML脚本中
- 使选择框在URL中使用变量重新加载页面的最简单方法
- 将变量从URL传递到简单模式弹出菜单
- jquery 中的简单全局变量
- 简单的一个?将变量从 Chrome 扩展程序页面传递到 PHP 页面
- 具有 John Resig 简单类模式的静态变量
- 是JavaScript数组.函数或简单变量的长度属性