javascript - 使用node + webpack找不到模块 'project directory'

标签 javascript node.js webpack

我在下面提供了我的 webpack.config.jspackage.json。我尝试重新安装 node_modules,但我认为这不是问题,因为它没有找到整个项目。我对 webpack 还很陌生,我认为这是 webpack 配置的问题。

如有任何帮助,我们将不胜感激。

当我尝试构建并启动应用程序时收到此错误。

Error: Cannot find module 'C:\code\project-name'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3

这是webpack.config.js

module.exports = {
  target: 'node',

  entry: {
    app: ['babel-polyfill', './src/app.js']
  },

  output: {
    path: './dist/',
    filename: '[name].js'
  },

  module: {
    loaders: [{
      test: /.js$/,
      exclude: /node_modules/,
      loader: 'babel'
    }]
  }
}

这是package.json

{
  "name": "project-name",
  "version": "1.0.0",
  "description": "",
  "main": "./dist/app.js",
  "scripts": {
    "build:watch": "webpack --colors --progress --watch",
    "build": "webpack --colors --progress",
    "start": "node ."
  },
  "author": "",
  "license": "ISC",
  "standard": {
    "parser": "babel-eslint"
  },
  "babel": {
    "presets": [
      "latest",
      "stage-0"
    ]
  },
  "devDependencies": {
    "babel-core": "^6.17.0",
    "babel-eslint": "^7.0.0",
    "babel-loader": "^6.2.5",
    "babel-polyfill": "^6.16.0",
    "babel-preset-latest": "^6.16.0",
    "babel-preset-stage-0": "^6.16.0",
    "standard": "^8.4.0",
    "webpack": "^1.13.2"
  },
  "dependencies": {
    "lodash": "^4.16.4"
  }
}

这是app.js

console.log('test')

编辑:

这是项目的文件结构。

project-name/
    src/
        app.js
    webpack.config.js
    package.json
    node_modules/

最佳答案

在您的 start 脚本中,您运行 node .,这意味着运行当前目录的模块。因此, Node 看到有一个 package.json 并查找 main 属性并尝试运行它。您真正要做的是运行 node ./dist/app.js,但该文件不存在。

您需要先构建它,因此 webpack 实际上会创建该文件:

npm run build

您可能已经运行了 npm build,这是一个 npm 内置命令,不会运行您的脚本。

关于javascript - 使用node + webpack找不到模块 'project directory',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42739191/

相关文章:

javascript - React 惯用的方式来更新状态中的 Map 对象

javascript - 鼠标一到子菜单就消失了

Javascript将正则表达式存储在变量中

javascript - 如何使用 webpack 将 await 关键字转换为 es5?

Javascript 导出文本文件在 Firefox 中无法识别\r\n

javascript - 错误 : Connection timeout at SMTPConnection. _formatError

javascript - NodeJS 中的 varexports = module.exports = {}

node.js - 将全局变量注入(inject) Node 上下文

css - 仅使用 Typescript 编译 css 文件

webpack - 在应用程序 HTML 中包含指向 webpack 入口点的直接链接?