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

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

我的packcage.json的一部分:

"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 ,它工作正常。

有任何想法吗?

您应该编辑您的webpackconfiguration,以包含parsing模块的应用程序目录。

根据你的代码示例,它看起来像这样:

 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