问题一:
我是使用webpack打包的
为什么我的react模块放在node_modules中也只需要写成
import React from 'react';
就可以在另一个文件夹里引入react了?我并没有看到哪里设置了路径给react阿
问题2:
我想问一下用webpack的时候使用import和export,是相当于使用ES6的呢?还是node里的内置对象呢?
巴扎黑2017-04-17 16:21:26
答问一:你写了import React from 'react';
,webpack会优先看看你有没有在resolve.alias
里看看你有没有定义react
,如果没有的话,就在node_modules
里找。
答问二:这import和export都是ES6的语法,并不是什么内置对象,你看webpack1就不支持这import/export的语法,需要用babel转换成commonjs的写法require
。
伊谢尔伦2017-04-17 16:21:26
问题一:nodejs的模块加载机制决定的,你可以看下官方文档,如果你对NODE不熟悉那就没办法了。
问题二:ES6和NODE内置对象不冲突,node依托V8平台,所以ES6的语法支持与否去决定于V8平台,而V8目前对ES6是部分支持的了。
不过由于react是需要跑在浏览器端的,为了保证浏览器的兼容,所以一般需要babel去翻译成标准的ES5语法,这时其实和node本身没有绝对关系,而是为了兼容不同版本的浏览器。