【问题标题】:Webpack WARNING in ./node_modules/express/lib/view.js Critical dependency: the request of a dependency is an expression./node_modules/express/lib/view.js 中的 Webpack WARNING 关键依赖项:依赖项的请求是一个表达式
【发布时间】:2018-10-10 19:38:15
【问题描述】:

我正在开发我的第一个全栈应用程序(它是一个简单的笔记应用程序),当我捆绑 webpack 时收到此警告:

./node_modules/express/lib/view.js 中的警告 81:13-25 严重 依赖:依赖的请求是一个表达式@ ./node_modules/express/lib/view.js @ ./node_modules/express/lib/application.js @ ./node_modules/express/lib/express.js @ ./node_modules/express/index.js @ ./routes/server.js

这是我的webpack.config.js 文件:

const webpack = require('webpack');

const path = require('path');

const nodeExternals = require('webpack-node-externals');

const config = {

  entry: {

      app: './routes/server.js'

  },

  output: {

    path: __dirname + "/public",

    filename: 'build/bundle.js'

  },

  module : {

    rules : [

      {

        test : /\.jsx?/,

        loader : 'babel-loader',

        exclude: /node_modules/,

        query: {

            "presets" : ["es2015", "react"]

          }

      }

    ]

  },

  target: 'node',

  externals: [nodeExternals({
    whitelist: ['express', 'mongodb', 'body-parser', 'react', 'react-dom', 'random-color']
  })]

};

module.exports = config;

这是我的package.json 文件:

{
  "name": "quick-notes-app",
  "version": "1.0.0",
  "description": "my first full-stack javascript app",
  "main": "./routes/server.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nodemon --exec babel-node ./routes/server.js --ignore public/",
    "dev": "webpack -wd",
    "lint": "eslint ./"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/CandiW/quick-notes-app.git"
  },
  "author": "CandiW",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/CandiW/quick-notes-app/issues"
  },
  "homepage": "https://github.com/CandiW/quick-notes-app#readme",
  "dependencies": {
    "body-parser": "^1.18.2",
    "express": "^4.16.3",
    "mongodb": "^2.2.35",
    "randomcolor": "^0.5.3",
    "react": "^16.3.2",
    "react-dom": "^16.3.2"
  },
  "devDependencies": {
    "babel-cli": "^6.26.0",
    "babel-core": "^6.26.3",
    "babel-eslint": "^8.2.3",
    "babel-loader": "^7.1.4",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "eslint": "^4.19.1",
    "eslint-plugin-react": "^7.7.0",
    "nodemon": "^1.17.3",
    "webpack": "^3.11.0",
    "webpack-node-externals": "^1.7.2"
  }
}

我安装了webpack-node-externals,因为我从 webpack 收到了几个错误和警告。我当时确定 webpack 没有忽略 node_modules,尽管我在 exclude 中有 node_modules

我不确定我做错了什么,或者我是否做错了什么?如果有人对如何修复有任何想法,请帮助!你也可以在这里找到我的 github 仓库:Quick-Notes-App

【问题讨论】:

  • 这个问题已经解决了.....我回到了我的webpack.config.js文件的以前版本,发现我错误地将entry更改为app: "./routes/server.js,而它应该是@987654333 @.

标签: javascript node.js mongodb express webpack


【解决方案1】:

它对我有用。我更改了 webpack.server.config.js 中的代码,你的可能是 webpack.config.js 或 webpack.server.js ...等

.... webpack 配置...

..from...

entry:{...},
output: {
  path: path.join(__dirname, '..', 'build'),
  publicPath: '/',
  libraryTarget: "commonjs2"
},
target: 'node',

entry:{...},
output: {
  path: path.join(__dirname, '..', 'build'),
  publicPath: '/',
  libraryTarget: "commonjs2"
},
target: 'node',

externals: {
  express: 'express',
},

只需添加以下代码(其他模块相同)

externals: {
  express: 'express',
},

【讨论】:

    猜你喜欢
    • 2016-08-28
    • 2017-08-11
    • 2022-08-15
    • 2019-05-04
    • 2020-06-15
    • 1970-01-01
    • 2022-11-10
    • 2020-10-11
    • 2021-06-13
    相关资源
    最近更新 更多