vue+node+mongoose踩過的坑


1.當你在cmd中輸入npm run dev的時候,出現這種錯誤

很有可能是目前的端口被占用了,可以把所有可能用到這個端口號的應用關閉或者你直接改一個新的端口號

修改端口的方法:新打開一個cmd,然后輸入netstat -a,然后看對應你的端口的ipc,然后打開任務服務器查看之前看到的ipc,看到之后關閉服務就可以了。(如果你在cmd中看到的端口過多,cmd可能會翻頁,那么你就需要輸入netstat -a>output.txt 將全部的端口打印到txt文件上,然后從文件上查看ipc)

2.如果是在cmd中輸入一個npm run dev的時候,出現這種錯誤:

同樣的瀏覽器是504

那么很有可能是你沒有在你的文件夾中的server就是放置node文件的文件夾中的cmd中輸入node index

3.如果后台獲取數據的時候,瀏覽器顯示的是200,數據庫中也有數據庫,可是出現的結果是空數組,原因是:

https://segmentfault.com/q/1010000009630591?_ea=2001292

4.獲取某一頁中的數據

models.seek.find().skip(offset).limit(limit).find((err,data)=>{})

 5.如果要獲取集合表的全部數據?

models.list.find({"title":/val/}).count(function(err,data){
    sum=data;
})

6.在expres中獲取到前台傳過來的參數:兩種(get post)

router.get('xxx',(req,res)=>{
   console.log(req.query) 
})
router.post('xxx',(req,res)=>{
   console.log(req.body) 
})

7.怎么解決跨域問題(開發環境)?

在confgi/index.js中 添加下面這些代碼

(1)這樣的話url:http://localhost:12345/api/xxx就可以簡化為=>/api/xxx

(2)在changeOrigin: true,這個設置為true的話,就會在本地虛擬一個請求,並且代你發送該請求

 dev: {
    env: require('./dev.env'),
    port: 12342,
    autoOpenBrowser: true,
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: {
        '/api': {
            target: 'http://localhost:12345/api',
            changeOrigin: true,
            pathRewrite: {
              '^/api': '/api'
            }
          }
},

 8.如果要在cmd中運行文件npm run dev的時候出現這種錯誤:

解決辦法是:

將文件里面的package-lock.json名字是這個的文件刪除,然后重新npm install

以上操作完成之后,重新npm run dev就可以到頁面了

資料:https://stackoverflow.com/questions/44338716/cannot-find-module-fs-realpath-after-npm-v5-0-1-upgrade/44339236

9.打開node中的index.js時候會出現這種警告:

C:\Users\admin\Desktop\mange\mange\server>node index
連接上后台。。。
(node:2328) DeprecationWarning: `open()` is deprecated in mongoose >= 4.11.0, use `openUri()` instead, or set the `useMongoClient` option
if using `connect()` or `createConnection()`. See http://mongoosejs.com/docs/connections.html#use-mongo-client
鏈接數據庫成功

解決是:在連接mongodb數據庫的時候 添加成這樣:mongoose.connect('mongodb://localhost/test',{ useMongoClient: true });

10.favicon.ioc

一般的我們需要在項目的根目錄下,放置一個favicon.ico這個是當你的網頁被收藏的時候,顯示在收藏欄中的圖標

但是在vue-cli中我們需要將faviocn.ico放在static文件夾中,並且在index.html中添加<link href="./static/favicon.ico" rel="shortcut icon">才能獲取到

11.如果遇到這種錯誤(function (exports, require, module, __filename, __dirname) { <!doctype html>

這是因為你用commonjs中的require引入的文件不是js文件,只要更改成js文件就可以了

12.想要直接刪除node_modules

npm install rimraf -g
rimraf node_modules

13.如果連接數據庫的時候,200 但是數據就是獲取不到:

這里面api.js接口設置的應該是正確的,只能是db設置的時候不對,可能是數據庫的集合名稱不對

 

 





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM