问题一:
我是使用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
裡看看你有沒有定義< code>react,如果沒有的話,就在node_modules
裡找。 import React from 'react';
,webpack会优先看看你有没有在resolve.alias
里看看你有没有定义react
,如果没有的话,就在node_modules
里找。
答问二:这import和export都是ES6的语法,并不是什么内置对象,你看webpack1就不支持这import/export的语法,需要用babel转换成commonjs的写法require
require
。 🎜伊谢尔伦2017-04-17 16:21:26
問題一:nodejs的模組載入機制決定的,你可以看下官方文檔,如果你對NODE不熟悉那就沒辦法了。
問題二:ES6和NODE內建物件不衝突,node依托V8平台,所以ES6的語法支援與否去決定於V8平台,而V8目前對ES6是部分支援的了。
不過由於react是需要跑在瀏覽器端的,為了確保瀏覽器的兼容,所以一般需要babel去翻譯成標準的ES5語法,這時其實和node本身沒有絕對關係,而是為了兼容不同版本的瀏覽器。