<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 解決nodejs koa express以及vue,nuxt項目中使用別名映射vscode不提示的問題,兼容webpack的@和best-require 的:xxx 別名映射

          2019-11-16    seo達人

          nodejs中使用別名映射,兼容webpack的@和best-require 的:xxx 別名映射

          項目地址: https://github.com/langyuxiansheng/biu-server-admin



          寫在前面

          研究了很久,找了很多資料發現都沒有,只好自己去想辦法,查資料.才弄好的,凌晨發布的,轉載請注明出處.

          在做nodejs項目開發的時候,你是不是也在為

          require('./posts');

          require('./controllers/posts');

          require('../controllers/posts');

          require('../../controllers/posts');

          require('../../../apis/controllers/posts');



          或者



          require(ROOT_PATH + '/application/apis/controllers/posts');

          // other require()...

          require(ROOT_PATH + '/application/apis/controllers/users');

          require(ROOT_PATH + '/application/apis/controllers/products');

          require(ROOT_PATH + '/application/apis/services/rest');

          require(ROOT_PATH + '/application/apis/config');



          這樣的寫法而困擾;



          那看完這篇文章,從此之后就可以告別這個煩惱了;



          感謝一下 best-require 這個模塊包的作者,不然還需要自己去寫這個

          npmjs 鏈接 https://www.npmjs.com/package/best-require

          github 鏈接 https://github.com/yuezhihan/best-require



          不廢話了,進入正題 往下看:

          1. 安裝庫 best-require 進行別名映射





            npm i best-require --save


          2. 映射別名. 實例在本項目中 server/index.js 中





            const path = require('path');

            const ROOT_PATH = process.cwd();

            const SRC_PATH = path.join(ROOT_PATH, /server/src);

            console.log(ROOT_PATH, SRC_PATH);

            //映射目錄別名

            require('best-require')(ROOT_PATH, {

                root: ROOT_PATH,

                src: SRC_PATH,

                controllers: path.join(SRC_PATH, '/controllers'),

                models: path.join(SRC_PATH, '/models'),

                routes: path.join(SRC_PATH, '/routes'),

                crawlers: path.join(SRC_PATH, '/crawlers'),

                services: path.join(SRC_PATH, '/services'),

                middleware: path.join(SRC_PATH, '/middleware'),

                lib: path.join(SRC_PATH, '/lib'),

                config: path.join(SRC_PATH, '/config'),

                logs: path.join(SRC_PATH, '/logs')

            });



            //運行服務

            require('./src/bin/Server').run();


          3. 設置 jsconfig.json





            {

                "compilerOptions": {

                    "allowSyntheticDefaultImports": true,

                    "baseUrl": "./",

                    "paths": {

                        "@/": ["client/"],

                        ":root/": [""],

                        ":config/": ["server/src/config/"],

                        ":lib/": ["server/src/lib/"],

                        ":services/": ["server/src/services/"],

                        ":controllers/":["server/src/controllers/"],

                        ":models/": ["server/src/models/"],

                        ":routes/": ["server/src/routes/"],

                        ":crawlers/": ["server/src/crawlers/"],

                        ":middleware/": ["server/src/middleware/"],

                        ":logs/": ["server/src/logs/"]

                    }

                },

                "include": ["server/*/","client/*/"],

                "exclude": [

                    "node_modules",

                    "nuxt-dist",

                    "server-dist"

                ]

            }


          4. vscode要安裝 path-intellisense 插件 并在設置中配置setting.json



            vscode 中的設置,setting.json



            workspaceRoot 是當前的工作空間,就是當前編輯器打開的目錄.



            配置如下





            {

                "path-intellisense.mappings": {

                    "@": "${workspaceRoot}/client",

                    ":root": "${workspaceRoot}",

                    ":lib": "${workspaceRoot}/server/src/lib",

                    ":controllers": "${workspaceRoot}/server/src/controllers",

                    ":models": "${workspaceRoot}/server/src/models",

                    ":routes": "${workspaceRoot}/server/src/routes",

                    ":crawlers": "${workspaceRoot}/server/src/crawlers",

                    ":services": "${workspaceRoot}/server/src/services",

                    ":middleware": "${workspaceRoot}/server/src/middleware",

                    ":config": "${workspaceRoot}/server/src/config",

                    ":logs": "${workspaceRoot}/server/src/logs",

                }

            }


          5. 重啟vscode,試試看吧!

            作者的目錄結構









            vue中使用







            后續更新

            nodejs中使用sequelize的model映射,這樣就解決了沒得提示的煩惱了,讓你的效率提升2個檔次

            寫在后面

            如果你遇到難題或者有疑問,有好的建議請留言反饋.

            這種提示以及Ctrl + 鼠標左鍵的跳轉,只針對 .js 的文件, .vue的沒試過.這個也只是為了解決 js方法映射后沒提示的問題.


          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://m.sdgs6788.com

          存檔

          国产精品丝袜久久久久久不卡| 一极黄色视频久久网站| 久久久中文字幕| 久久精品视频91| 香蕉久久av一区二区三区| WWW婷婷AV久久久影片| 亚洲国产成人久久综合区| 久久久噜噜噜久久熟女AA片| 久久国产成人精品国产成人亚洲| 久久精品国产亚洲av麻豆蜜芽| 9久久9久久精品| 国产A三级久久精品| 久久精品18| 日韩精品国产自在久久现线拍| 伊人久久大香线蕉综合影院首页| 日本精品久久久中文字幕| 久久久久久精品免费免费自慰| 99久久精品国产毛片| 国内精品久久久久伊人av| 久久久久久精品成人免费图片 | 久久亚洲国产精品五月天婷| 久久久婷婷五月亚洲97号色| 日韩美女18网站久久精品| 久久最新精品国产| 久久综合综合久久97色| 国内精品久久久久久99蜜桃| 一本色综合网久久| 久久久久高潮综合影院| 久久综合鬼色88久久精品综合自在自线噜噜| 日韩精品久久久久久免费| 日韩AV无码久久一区二区| 伊人久久国产免费观看视频| 久久久精品日本一区二区三区| 91精品国产91久久| 精品久久久久久国产牛牛app| 99久久国产综合精品五月天喷水 | 久久久午夜精品福利内容| 欧美与黑人午夜性猛交久久久 | 久久综合给久久狠狠97色| 亚洲AV无一区二区三区久久 | 亚洲性久久久影院|