我有一个导出两个常量的ES6模块:
export const foo = "foo";
export const bar = "bar";
Run Code Online (Sandbox Code Playgroud)
我可以在另一个模块中执行以下操作:
import { foo as f, bar as b } from 'module';
console.log(`${f} ${b}`); // foo bar
Run Code Online (Sandbox Code Playgroud)
当我使用NodeJS模块时,我会这样写:
module.exports.foo = "foo";
module.exports.bar = "bar";
Run Code Online (Sandbox Code Playgroud)
现在,当我在另一个模块中使用它时,我能否以某种方式重命名导入的变量,就像使用ES6模块一样?
const { foo as f, bar as b } = require('module'); // invalid syntax
console.log(`${f} ${b}`); // foo bar
Run Code Online (Sandbox Code Playgroud)
如何在NodeJS模块中重命名导入的常量?
我正在浏览Node中命令行实用程序的源代码,并看到以下代码.
function help() {
var colors = require('colors');
var package = require('../package');
....
....
}
Run Code Online (Sandbox Code Playgroud)
我之前没有看到过要求以这种方式使用函数.我一直认为最好将它包含在文件的顶部.这是此程序的入口文件,此函数仅在特定情况下调用 - 但这些包在程序的其他位置使用.当我向代码的作者询问他的推理时,他只是说他"不想一次导入所有的库".
这是好/坏的做法吗?通过不要求在模块顶部使用这些软件包,而只是在调用这些函数时,是否会对加载时间产生重大影响?
我有一个地方需要使用npm uuid软件包生成唯一的ID。安装完uuid软件包后,用法如下:
const uuid = require('uuid/v1');
uuid();
Run Code Online (Sandbox Code Playgroud)
但是我有错误说:
[eslint] Unexpected require(). (global-require)
Run Code Online (Sandbox Code Playgroud)
我的功能如下:
someFunction = (i, event) => {
if(someCondition) {
//generate some unique id
const uuid1 = require('uuid/v1');
uuid1();
//call some function and pass this id
someFunction2(uuid1);
} else{
//generate some unique id
const uuid2 = require('uuid/v1');
uuid2();
//call some function and pass this id
someFunction2(uuid2);
}
Run Code Online (Sandbox Code Playgroud)
在ReactJs中使用require的最佳方法是什么。
node.js ×3
javascript ×2
commonjs ×1
ecmascript-6 ×1
eslint ×1
npm ×1
reactjs ×1
require ×1
uuid ×1