AlanWuji / web

0 stars 0 forks source link

Node端与浏览器端js运行环境差异 #2

Open AlanWuji opened 7 years ago

AlanWuji commented 7 years ago
var fs = require('fs');
var path = require('path');

a = 'hello';
b = [1,2,3,4];

// 1.node端的顶层对象不是window,而是global
// console.info(window.a); 
console.info(global.a);

// 2.浏览器环境中self指向顶层对象,但在node端则无self
// console.info(self.a);

// 3.window下的API在node端就不好使了
// alert(a);
// document.xxx;
// history.xxx

// 4.node也提供了node端特有的丰富API 
// https://nodejs.org/dist/latest-v6.x/docs/api/
fs.writeFileSync(path.resolve(__dirname, './test.txt'), `${a} world!`);

// 5.node目前能比较好的支持es6,浏览器则比较弱(除chrome)
for (let item of b ) {
    console.info(`NO.${item} ${a} world!`);
}

// 6.node端提供了模块加载的API,在浏览器端实现模块化加载则需要额外做一些“事情”(开发态打包或运行态垫片)
// require(xxx)