鍍金池/ 問答/HTML5  HTML/ 關(guān)于項目目錄結(jié)構(gòu)

關(guān)于項目目錄結(jié)構(gòu)

公司的項目比較雜亂,都是常規(guī)的css js html 各放在一個地方,最近看了react基于組件的就近依賴,想把公司的項目改成如下這種方式,不知道會不會有什么未知的問題,有人做過類似的嗎?

common
    js
        sss.js
    css
        xxx.css
    images
        xxx.png
page
    home
        index.html
        index.css
        index.js
        /images/sss.png
    about
        index.html
        index.css
        index.js
        /images/ccc.png
    login
        index.html
        index.css
        index.js
        /images/ddd.png
        

貼一個react的結(jié)構(gòu),簡直不要太爽

clipboard.png

回答
編輯回答
凝雅

react 的結(jié)構(gòu)一般如下:

my-app
├── README.md
├── node_modules
├── package.json
├── .gitignore
├── public
│   └── favicon.ico
│   └── index.html
│   └── manifest.json
│── src
│   │── assets
│   │   └── logo.png
│   │── i18n
│   │   └── zh_CN.js
│   │── routers
│   │   └── index.js
│   │── utils
│   │   └── request.js
│   │── components
│   │   └── yourcomponent
│   │       └── index.less
│   │       └── Index.js
│   │── sevices
│   │   └── fetch.js
│   └── App.css
│   └── App.js
│   └── App.test.js
│   └── index.css
│   └── index.js
│   └── logo.svg
│   └── registerServiceWorker.js
└── tests

我做了一個基于Dva的initial項目,你可以參考一下。這個項目幾乎包含了一個web項目中所有的使用配置
DvaInitial

2017年9月14日 00:50
編輯回答
葬愛

react用過一次,感覺沒有Vue組件化更徹底。Vue里面可以把html,css,js都放到一個.vue文件里,這樣就只有圖片資源是在外面了,如果用vue,你的目錄可以簡化成這樣:
common

image/xxx.png

page

home
    home.vue
    images/xxx.png

....
結(jié)構(gòu)大概就長這樣:

clipboard.png

vue文件大概長這樣:

clipboard.png

2017年3月26日 06:32
編輯回答
過客

你可以github找一個vue或者react的開源項目,尤其是關(guān)注度比較高的項目看一看它們的目錄結(jié)構(gòu)就行了,如果是你們公司的團(tuán)隊人員比較多,你們就商量個方案,如果是人說比較少,你就找一個大點的項目參考一下,然后,根據(jù)自己的使用習(xí)慣就行了。

2017年11月11日 14:16
編輯回答
獨白

項目結(jié)構(gòu)劃分跟用什么框架毫無關(guān)系

我個人是推崇按功能劃分html,css,image的,就是你所說的第一種:

common
    js
        sss.js
    css
        xxx.css
    images
        xxx.png
page
    home
        index.html
        index.css
        index.js
        /images/sss.png
    about
        index.html
        index.css
        index.js
        /images/ccc.png
    login
        index.html
        index.css
        index.js
        /images/ddd.png

跟你的區(qū)別是,我可能會把功能相似的頁面放在同1個文件夾,因為當(dāng)你項目大了,按你那種可能文件夾會太多。比如:

page
    order
        order.html
        order.css
        order.js
        order-confirm.html
        order-confirm.js

雖然vue可以把style也寫在單個文件中,但是當(dāng)你js邏輯復(fù)雜了或者樣式多了,肯定還是得拿出去,1個file最多300行,不然閱讀性要差很多。

最重要的是,目錄劃分是為了閱讀、分治,沒有什么完美的方案,根據(jù)需求和團(tuán)隊選擇一個最合適的就好。

2018年8月9日 23:57