node.js - 如何在 package.json 的 webpack 中添加 NODE_PATH?

标签 node.js webpack package.json

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

我的 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"
  },

背包.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,它工作正常。

有什么想法吗?

最佳答案

您应该编辑您的 webpack 配置以包含用于解析模块的 app 目录。

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

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

关于node.js - 如何在 package.json 的 webpack 中添加 NODE_PATH?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45894047/

相关文章:

css - 使用 webpack 将 .ts 和 .css 打包成单个文件

javascript - 如何使用 webpack 服务器端处理静态 Assets ?

node.js - Electron 打开多个窗口package.json调整

angular - 找不到模块 : Error: Can't resolve 'fs' angular

node.js - node.js 中的 Twilio 短信回复

javascript - 什么是服务器日志以及如何生成它们?

javascript - Proxyquire 和函数导入

javascript - 如何从$$state对象获取数据

reactjs - 在 React 中动态导入 svg

npm - 删除 package.json 中的插入符号是否安全?