找不到模块“C:\dist\server.generated.js”

Posted

技术标签:

【中文标题】找不到模块“C:\\dist\\server.generated.js”【英文标题】:Cannot find module 'C:\dist\server.generated.js'找不到模块“C:\dist\server.generated.js” 【发布时间】:2021-10-07 12:06:04 【问题描述】:

我正在尝试学习如何使用 node.js、Express 和 yarn 设置一个小型 Web 应用程序。

我已经在项目工作目录中使用了yarn install。 运行 yarn development 时出现以下错误:

Error: Cannot find module 'C:\dist\server.generated.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:976:15)
    at Function.Module._load (internal/modules/cjs/loader.js:859:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47 
  code: 'MODULE_NOT_FOUND',
  requireStack: []

[nodemon] app crashed - waiting for file changes before starting...

我不明白为什么它在 C:\dist 中寻找 server.generated.js,因为这是它在运行 yarn development 时在我的项目 (C:\Users\name\Desktop\Coding\MERNing\MERN-Skeleton-Application\dist) 的 cwd 中自动生成的。

我所有的 Webpack 文件都指定使用 cwd 来生成 server.generated.js

const path = require('path')
const nodeExternals = require('webpack-node-externals')
const CURRENT_WORKING_DIR = process.cwd()

console.log(CURRENT_WORKING_DIR+'!')

const config = 
    name: "server",
    entry: [ path.join(CURRENT_WORKING_DIR , './server/server.js') ],
    target: "node",
    output: 
        path: path.join(CURRENT_WORKING_DIR , '/dist/'),
        filename: "server.generated.js",
        publicPath: '/dist/',
        libraryTarget: "commonjs2"
    ,
    externals: [nodeExternals()],
    module: 
        rules: [
            
                test: /\.js$/,
                exclude: /node_modules/,
                use: [ 'babel-loader' ]
            ,
            
                test: /\.(ttf|eot|svg|gif|jpg|png)(\?[\s\S]+)?$/,
                use: 'file-loader'
            
        ]
    


module.exports = config

【问题讨论】:

【参考方案1】:

问题是我的 nodemon.json 文件中有错字。

我的代码是


    "verbose": false,
    "watch": [ "./server" ],
    "exec": "webpack --mode=development --config webpack.config.server.js && node/dist/server.generated.js"

正确的代码是:


    "verbose": false,
    "watch": [ "./server" ],
    "exec": "webpack --mode=development --config webpack.config.server.js && node ./dist/server.generated.js"

我之前完全省略了 ./,这解释了为什么它在 C: 中而不是在当前工作目录中寻找“server.generated.js”。

【讨论】:

以上是关于找不到模块“C:\dist\server.generated.js”的主要内容,如果未能解决你的问题,请参考以下文章

找不到指定模块

S7200编程时找不到添加模似量模块设置

解决找不到pip模块的问题

电脑找不到指定的模块是怎么回事?

matlab安装,找不到指定模块,程序

Python升级找不到Tkinter模块