在 ExpressJS 中导入模块时出错
Error while importing modules in ExpressJS
我试图在 ExpressJS 应用程序中导入一些模块,但它引发了以下错误:
Error: Cannot find module './public/js/date.js'
....more error logs...
at Object. (/home/user007/todoApp_SSRendered/routes/route-add.js:2:23)
我有一些嵌套很深的文件夹,其中的模块分散在各个地方。我的文件夹结构是这样的。我认为这与我如何为模块指定路由有关。
我的app.js导入模块route-main.js位于routes文件夹
const mainRoute = require('./routes/route-main.js')
app.use('/', mainRoute)
另一方面,route-main.js 导入同一路由文件夹中的所有其他模块
const addTask = require('./routes/route-add.js')
+ .....其他三个剩余文件...
let taskToUpdate = require('./public/db/tasks.json')
再深入一点,routes 文件夹中的所有其他 4 个文件(route-main.js 除外),需要 js 文件夹中的两个文件
const newDateFormat = require('./public/js/date.js')
const writeFile = require('./public/js/writeFile.js')
总的来说,模块依赖性 link(要求)类似于:
app.js --> main.js --> (route-add , route-delete...) --> (date, writeFile)
注意:在app.js中,我只需要main.js 等等(对同一个模块没有双重要求)。我正在使用 Express 4.14.1 并将 Pug 和 body-parser 作为剩余的依赖项。
如果有帮助,该应用程序也完全在服务器端呈现。
谢谢你:)
这是一个相对路径问题,由于route-main.js
和/public
不在同一个文件夹中,需要替换为:
let taskToUpdate = require('./public/db/tasks.json')
和
let taskToUpdate = require('../public/db/tasks.json')
并检查当您需要其他文件夹中的文件时,相对路径是否正确。
我试图在 ExpressJS 应用程序中导入一些模块,但它引发了以下错误:
Error: Cannot find module './public/js/date.js'
....more error logs...
at Object. (/home/user007/todoApp_SSRendered/routes/route-add.js:2:23)
我有一些嵌套很深的文件夹,其中的模块分散在各个地方。我的文件夹结构是这样的。我认为这与我如何为模块指定路由有关。
我的app.js导入模块route-main.js位于routes文件夹
const mainRoute = require('./routes/route-main.js')
app.use('/', mainRoute)
另一方面,route-main.js 导入同一路由文件夹中的所有其他模块
const addTask = require('./routes/route-add.js')
+ .....其他三个剩余文件...
let taskToUpdate = require('./public/db/tasks.json')
再深入一点,routes 文件夹中的所有其他 4 个文件(route-main.js 除外),需要 js 文件夹中的两个文件
const newDateFormat = require('./public/js/date.js')
const writeFile = require('./public/js/writeFile.js')
总的来说,模块依赖性 link(要求)类似于:
app.js --> main.js --> (route-add , route-delete...) --> (date, writeFile)
注意:在app.js中,我只需要main.js 等等(对同一个模块没有双重要求)。我正在使用 Express 4.14.1 并将 Pug 和 body-parser 作为剩余的依赖项。
如果有帮助,该应用程序也完全在服务器端呈现。
谢谢你:)
这是一个相对路径问题,由于route-main.js
和/public
不在同一个文件夹中,需要替换为:
let taskToUpdate = require('./public/db/tasks.json')
和
let taskToUpdate = require('../public/db/tasks.json')
并检查当您需要其他文件夹中的文件时,相对路径是否正确。