JS 模組化

import_export_module.exports 模組化

參考至

http://www.2ality.com/2014/09/es6-modules-final.html

http://es6.ruanyifeng.com/#docs/module

在webpack中可混用,一起用

ES6 module

 //------ lib.js ------
    export sqrt = Math.sqrt;

    //------ main.js ------
    import  sqrt  from 'lib';

想一次import所有export過的東西

 import * as lib from 'lib';

舉例:

export function addTodo(text) {
  return {
    type: 'ADD_TODO',
    text
  };
}

export function removeTodo(id) {
  return {
    type: 'REMOVE_TODO',
    id
  };
}

傳回的東西是一個物件

CommonJS

使用import的格式

但為什麼react在webpack可以用?

(因為react是用 module.exports 進行輸出)

結論

1.

or

配上

2.

or

配上

使用require

有關react引入jsx

使用commonjs的寫法require時

其中是指向

也就是指向命名的var跟你原本元件的名稱沒關係

所以如果你想在一個jsx寫入多個元件會較麻煩,需要使用多個jsx檔案每個寫一個元件,再全部require到一個主jsx內

所以推薦使用ES6的import,下面hllo直接指到目標檔案的元件名稱,所以可以在一個jsx檔案內放多個元件

原因是ES6的import可以使用{}如果使用會直接引入檔案內的object,如果沒用則是引入export default 或module.exports的檔案

或是使用ES6 的exports 記得 require後加上 ".屬性"

Last updated

Was this helpful?