关于import的一个疑问
毕业设计
1
背景:有个朋友是搞上位机,写C++的,我们用的是基于Qt的JS引擎。 问题:他问我在JavsScript里,require一个模块之后,为什么不能直接用里面的方法。
我的回答: 其实一开始我其实没get到他的意思,讲export,然后又拿死月大佬的《来一打C++扩展》翻了翻,半天鸡同鸭讲。 后来我是这么回答的,在某个模块 require了另个模m块,直接用a() ,其实是用当前模块.prototype.a() 而不是m.a(),JS中的OOP并非是传统的OOP。 想请教一下社区里的各位大佬,node里面的require、import 和C++中的import的区别
-
因为c++ 显式地声明了 using namespace xxx ; 如果客户代码不写using namespace 一样不能直接调用 而nodejs没有using namespace xxx 这样的语法,所有的package都挂在 exports.xxx 下面, 客户代码直接require 'xxx’ xxx.method 这样比c++更简单明了
#include <iostream> using namespace std; namespace square { int x=100; int y=200; void say(char* msg) { cout << msg <<endl; } } namespace round { int x=300; int y=400; void say(char* msg) { cout << msg <<endl; } } int main() { //using namespace square; // say("square"); //cout << x << " " << y << endl; using namespace round; cout << x << y << endl; say("round"); }
你不写using namespace 看能调用方法吗?
-
可以直接用
代码示例:
const http = require("http") http.get('http://www.baidu.com', (res) => { console.log(`Got response: ${res.statusCode}`); // consume response body res.resume(); }).on('error', (e) => { console.log(`Got error: ${e.message}`); });
发表回复