<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 項目結構 通過 thinkjs 命令創建完項目后,項目目錄結構類似如下: ~~~ |-- nginx.conf |-- package.json |-- src | |-- common | | |-- bootstrap | | | |-- generate_icon.js | | | `-- middleware.js | | |-- config | | | |-- config.js | | | |-- env | | | | |-- development.js | | | | `-- production.js | | | |-- hook.js | | | |-- locale | | | | |-- en.js | | | | `-- zh-CN.js | | | `-- route.js | | |-- controller | | | `-- error.js | | `-- runtime | `-- home | |-- config | |-- controller | | |-- base.js | | `-- index.js | |-- logic | | `-- doc.js | `-- model |-- view | `-- zh-CN | |-- common | | |-- error_400.html | | |-- error_403.html | | |-- error_404.html | | |-- error_500.html | | `-- error_503.html | `-- home | |-- doc_index.html | |-- doc_search.html | |-- inc | | |-- footer.html | | `-- header.html | |-- index_changelog.html | |-- index_demo.html | `-- index_index.html `-- www |-- favicon.ico |-- index.js |-- production.js `-- static |-- css |-- img `-- js ~~~ > 注:?指定不同的模式創建的項目目錄機構可能有細微的差別,但總體是類似的。 ### nginx.conf nginx 的配置文件,建議線上使用 nginx 做反向代理。 ### src 源代碼目錄,使用?`--es6`?參數創建項目才有該目錄。需要通過?`npm run watch-compile`?命令編譯該目錄下的文件到?`app/`?目錄。 如果沒有使用 ES6 特性創建項目,則直接有?`app/`?目錄。 ### src/common 通用模塊目錄,項目目錄都是按模塊來劃分的,`common`?模塊下存放一些通用的處理邏輯。 ### src/common/bootstrap 項目啟動目錄,該目錄下的文件會自動加載,無需手動?`require`?。 可以在這個目錄下文件里定義一些全局函數、注冊中間件等常用的功能。 ##### 定義全局函數 ~~~ // src/common/bootstrap/fn.js global.formatDate = obj => { ... } ~~~ 這里定義了一個全局函數?`formatData`,那么項目里任何地方都可以直接使用該函數。 ##### 注冊中間件 ~~~ // src/common/bootstrap/middleware.js think.middleware("replace_image", http => { ... }); ~~~ 這里定義了一個中間件?`replace_image`,那么就可以在配置文件?`hook.js`?里將該中間件注冊進去了。 `注:`bootstrap 只能放在 common 模塊里。 ### src/common/config 配置文件,這里放一些通用的配置。 其中:路由配置、Hook配置、本地化配置等必須放在這里。 ~~~ "use strict"; /** * config */ export default { //key: value }; ~~~ ### src/common/controller 控制器,放一些通用的控制器。其中?`error.js`?里錯誤處理的不同行為,項目里可以根據需要進行修改。 ### src/common/runtime 項目運行時生成的一些目錄,如:緩存文件目錄,用戶上傳的文件臨時存放的目錄。 ### src/home `home`?模塊,項目默認模塊。可以在?`src/common/config/config.js`?中修改配置?`default_module`?來重新定義默認模塊。 ### src/home/logic 邏輯處理。每個操作執行前可以先進行邏輯校驗,可以包含:參數是否合法、提交的數據是否正常、當前用戶是否已經登錄、當前用戶是否有權限等。這樣可以降低?`controller`?里的?`action`?的復雜度。 ~~~ "use strict"; /** * logic * @param {} [] * @return {} [] */ export default class extends think.logic.base { /** * index action logic * @return {} [] */ indexAction(){ } } ~~~ ### src/home/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/home/model 模型。數據庫相關操作。 ### view 視圖目錄,存放對應的模版文件。如果支持國際化和多主題,那么視圖目錄下需要有對應的子目錄。 ### www 項目的可訪問根目錄,nginx 里的根目錄會配置到此目錄下。 ### www/index.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.run(); ~~~ ### www/static 存放一些靜態資源文件。
                  <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>

                              哎呀哎呀视频在线观看