找不到模块“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”的主要内容,如果未能解决你的问题,请参考以下文章