<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                cmswing基于Thinkjs框架開發,項目目錄結構類似如下(可通過 thinkjs 命令創建完項目或模塊): |-- nginx.conf |-- package.json |--pm2.json |-- **src** | |-- **common** | | |-- adapter | | |-- bootstrap | | |-- **config** | | | |-- env | | | |-- locale | | |-- controller | | |-- model | | |-- service | |-- **admin** | | |-- config | | |-- controller | | |-- logic | | |-- model | |-- **ext** | | |-- config | | |-- controller | | |-- logic | | |-- model | |-- **mod** | | |-- config | | |-- **controller** | | | |--question | | |-- logic | | |-- model | |-- **topic** | | |-- config | | |-- controller | | |-- logic | |-- **uc** | | |-- config | | |-- controller | | |-- logic | | |-- model | |-- **view** | | |-- admin | | |-- common | | |-- ext | | |-- mod | | |-- sp | | |-- topic | | |-- uc | |-- **view** | | |-- backup | | |-- static | | |-- upload | |-- **runtime** 注:指定不同的模式創建的項目目錄結果可能有細微的差別,但總體是類似的。 ##nginx.conf nginx 的配置文件,建議線上使用 nginx 做反向代理。 ##src 源代碼目錄,使用 --es6 參數創建項目才有該目錄。項目啟動時會自動將 src 目錄下的文件編譯到 app 目錄下。 如果沒有使用 ES6 特性創建項目,則直接有 app/ 目錄。 ###src/common 通用模塊目錄,項目目錄都是按模塊來劃分的,common 模塊下存放一些通用的處理邏輯。 ###src/common/bootstrap 項目啟動目錄,該目錄下的文件會自動加載,無需手動 require 。 可以在這個目錄下文件里定義一些全局函數、注冊中間件等常用的功能。 定義全局函數 ~~~ // src/common/bootstrap/fn.js global.formatDate = obj => { ... } ~~~ 這里定義了一個全局函數 formatDate,那么項目里任何地方都可以直接使用該函數。 注冊中間件 ~~~ // src/common/bootstrap/middleware.js think.middleware('parse_wechat', wechatMiddleware({ ... }); ~~~ 這里定義了一個中間件 parse_wechat,那么就可以在配置文件 hook.js 里將該中間件注冊進去了。 注:bootstrap 只能放在 common 模塊里。 ###src/common/config 配置文件,這里放一些通用的配置。 其中:路由配置、hook 配置、本地化配置等必須放在這里。 ~~~ "use strict"; /** * config */ export default { //key: value }; ~~~ ###src/common/controller 控制器,放一些通用的控制器。其中 error.js 里錯誤處理的不同行為,項目里可以根據需要進行修改。 ##src/admin admin 模塊,項目后臺模塊,管理所有的數據處理及添加。 ##src/admin/logic 邏輯處理。每個操作執行前可以先進行邏輯校驗,可以包含:參數是否合法、提交的數據是否正常、當前用戶是否已經登錄、當前用戶是否有權限等。這樣可以降低 controller 里的 action 的復雜度。 ~~~ "use strict"; /** * logic * @param {} [] * @return {} [] */ export default class extends think.logic.base { /** * index action logic * @return {} [] */ indexAction(){ } } ~~~ ###src/admin/controller 控制器。一個 url 對應一個 controller 下的 action。 ~~~ "use strict"; import Base from "./base.js"; export default class extends Base { /** * index action * @return {Promise} [] */ indexAction(){ //auto render template file index_index.html return this.display(); } } ~~~ ###src/admin/model 模型。數據庫相關操作。 ###src/ext 擴展模型,方便二次開發 ###src/mod 擴展模型,方便二次開發及擴展更多符合業務需求的功能 ###src/mod/question 擴展模塊之獨立問答模型,功能類似于wecenter的專業問答社區。 ###src/topic 內容、欄目及分類管理模型,可添加系統模型分類,獨立模型分類。 ###src/uc 前后臺用戶中心管理模型,支持用戶注冊登錄,前臺文章投稿等功能 ##view 視圖目錄,存放對應的模版文件。如果支持國際化和多主題,那么視圖目錄下需要有對應的子目錄。 ##www 項目的可訪問根目錄,nginx 里的根目錄會配置到此目錄下。 ##www/development.js 開發模式下項目的入口文件,可以根據項目需要進行修改。www/production.js 為線上的入口文件。 入口文件的代碼類似如下,可以根據項目需要進行修改。 ~~~ var thinkjs = require("thinkjs"); var path = require("path"); var rootPath = path.dirname(__dirname); var instance = new thinkjs({ APP_PATH: rootPath + "/app", ROOT_PATH: rootPath, RESOURCE_PATH: __dirname, env: "development" }); instance.compile({retainLines: true, log: true}); instance.run(); ~~~ ##www/static 存放一些靜態資源文件。 ##runtime 項目運行時生成的一些目錄,如:緩存文件目錄,用戶上傳的文件臨時存放的目錄。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看