2016-03-22 63 views
2

我試圖通過減少一些進口來減少我的應用程序的大小,並且我學到的一件事是,像import {foo, bar, foobar} from library這樣的事情可以創建一個更大的最終捆綁,而不是最好做如何知道哪些進口和模塊可用

import foo from library/foo 
import bar from library/bar 
// etc 

我的問題是我怎麼知道哪些單獨的模塊可用?是標準的,如果這項工作

import React, {PropTypes} from 'react' 

這樣的事情也應該工作以及?

import React from 'react' 
import PropTypes from 'react/proptypes' 

你怎麼知道哪些模塊和出口都可以在一個項目中,以目標只是要避免做import * from module

+0

您如何知道不使用ES6模塊的項目(例如CommonJS模塊)?這裏同樣適用。 –

+0

「*造成了很多不必要的膨脹*」 - 不確定你的意思? – Bergi

+0

一如既往:閱讀您要導入的圖書館的文檔。他們要麼證明你可以導入他們的一些子模塊,或者你不能(不應該))。 – Bergi

回答

1

打開npm_modules文件夾,並檢查它是否有<module-name>/<import-name>.js<module-name>/<import-name>/index.js
如果它有一個或另一個,你可以導入它們。

但是,Webpack 2.0會更喜歡使用ES6語法。

import { foo } from "bar"; 

然後它會以這樣一種方式樹搖從尚未靜態導入(或靜態代碼中引用)庫中的任意代碼。

1

這樣的事情也應該工作以及那些?

否。由模塊創建者決定。您最有可能使用node_module作出反應,並且react/proptypes可用的事實指出了包中存在文件node_modules/react/proptypes.js這一事實。

這意味着它完全取決於模塊作者。

相關問題