2017-08-26 35 views
2

如何添加NODE_PATH到package.json中的webpack?我packcage.json的如何在package.json中添加NODE_PATH到webpack?

部分:

"dependencies": { 
    "axios": "^0.16.2", 
    "cross-env": "^5.0.1", 
    "koa": "^2.3.0", 
    "koa-mount": "^3.0.0", 
    "koa-static": "^4.0.1", 
    "koa-trie-router": "^2.1.5", 
    "mongodb": "^2.2.31", 
    "nuxt": "^1.0.0-rc3", 
    "socket.io": "^2.0.3" 
    }, 
    "devDependencies": { 
    "babel-eslint": "^7.2.3", 
    "backpack-core": "^0.4.1" 
    }, 
    "scripts": { 
    "test": "mocha --harmony", 
    "dev": "NODE_PATH=./app backpack dev", 
    "build": "nuxt build && backpack build", 
    "start": "cross-env NODE_ENV=production NODE_PATH=./app node build/main.js" 
    }, 

backpack.config.js:

module.exports = { 
    webpack: (config, options, webpack) => { 
    config.entry.main = './server/index.js' 
    return config 
    } 
} 

在我server.js:

import Koa from 'koa' 
import { Nuxt, Builder } from 'nuxt' 
import socket from 'socket.io' 
import http from 'http' 
import config from 'config' // this is './config' without NODE_PATH=./app 

錯誤npm run dev

This dependency was not found: 

* config in ./server/index.js 

但是,如果我運行npm start,它工作正常。

任何想法?

回答

1

您應該編輯您的webpack配置,以包含用於解析模塊的應用程序目錄。

基於您的代碼示例中,它應該是這樣的:

module.exports = { 
    webpack: (config, options, webpack) => { 
    config.entry.main = './server/index.js' 
    config.resolve.modules = ['./app'] 
    return config 
    } 
} 

見的WebPack文檔細節:

https://webpack.js.org/configuration/resolve/#resolve-modules

+0

感謝您的回答和鏈接,帕特里克! – laukok

相關問題