鍍金池/ 問(wèn)答/HTML/ 想把一個(gè)在多個(gè)項(xiàng)目都引用的react組件,抽出來(lái)放到cdn上,應(yīng)該如何做呢

想把一個(gè)在多個(gè)項(xiàng)目都引用的react組件,抽出來(lái)放到cdn上,應(yīng)該如何做呢

實(shí)習(xí)的公司有一個(gè)組件,好幾個(gè)項(xiàng)目都需要用,每次修改起來(lái)特別麻煩,現(xiàn)在想把這個(gè)react組件,抽出來(lái)放到cdn上,要怎么操作呢?
直接用webpack打包然后把打包后的文件拿出來(lái)就可以么?
但是公司的代碼都是一起打包的,如何單獨(dú)打包呢

回答
編輯回答
汐顏
  1. 打包發(fā)布到 npm 上
  2. 如果比較敏感,可以搭建公司內(nèi)部私有 cnpm:https://blog.csdn.net/kaosini...
  3. 部署到公司私有的倉(cāng)庫(kù)中,npm 是可以直接選擇依賴(lài)倉(cāng)庫(kù)項(xiàng)目的:https://docs.npmjs.com/cli/in...
  4. 編譯成 dll
2018年6月30日 12:03
編輯回答
安于心

你要解決的只是組件共享的問(wèn)題,上cdn顯得小題大做了...

如果項(xiàng)目共享目錄,那么在目錄頂層設(shè)置組件目錄;

如果項(xiàng)目連接同一個(gè)內(nèi)網(wǎng),可以設(shè)置內(nèi)部npm;

最后可以考慮把這個(gè)組件開(kāi)源發(fā)布到npm上

=========================================


// cdn.js
// need compile
class Button extends React.Component {
  render() {
    return (
      <div>
      </div>
    )
  }
}
window.customComponent = window.customComponent || {}
window.customComponent.Button = Button


// other app
const Button =  window.customComponent.Button

class Modal extends React.Component {
  render() {
    return (
      <div>
        <Button2 />
      </div>
    )
  }
}
2017年5月16日 22:14