【问题标题】:export import browser complaint cannot find module导出导入浏览器投诉找不到模块
【发布时间】:2021-09-02 02:09:38
【问题描述】:

此 Meteor 应用程序有一个模板事件,该事件生成 Meteor.call,并导致浏览器错误 Cannot find module 'server/plateCheck.js'。负责的文件是:

//app/imports/api/vehicles/methods.js

import { Meteor } from 'meteor/meteor'
import { Vehicles } from './vehicles.js'
import { plateCheck } from "../server/plateCheck.js"; //<<<<<<<<<< 

Meteor.methods({
    'extractPlateData': function (plate) {
        console.log('method called: ', plate)
        plateCheck(plate)
    }
)},


//app/imports/api/vehicles/server/plateCheck.js

import {Vehicles} from '../imports/api/vehicles/vehicles.js'

const plateCheck = async (plateNumber) => {...}
module.exports = plateCheck;

meteor list 包括 ecmascript 0.15.1

为什么会这样,并且导出/导入不正确?如何读取错误?谢谢。

【问题讨论】:

    标签: javascript node.js meteor


    【解决方案1】:

    您的相对路径错误。 server 文件夹与methods.js 位于同一目录中,因此您需要导入

    import { plateCheck } from "./server/plateCheck.js";
    

    或者您可以将所有导入设为绝对:

    //app/imports/api/vehicles/methods.js
    import { plateCheck } from "/imports/api/server/plateCheck.js";
    
    ...
    
    //app/imports/api/vehicles/server/plateCheck.js
    import {Vehicles} from '/imports/api/vehicles/vehicles.js'
    

    【讨论】:

    • 我都试过了,但都无济于事。 Cannot find module './server/plateCheck.js'Cannot find module '/imports/api/server/plateCheck.js' 是否需要移动文件以获得更好的应用程序文件夹结构?
    • 将文件移出imports/api/vehicles 中的服务器文件夹解决了问题,但安全吗?
    • 是的,它是安全的。 /imports 中的内容不会发布到客户端,除非您明确导入它们。
    猜你喜欢
    • 2018-12-29
    • 2013-01-06
    • 1970-01-01
    • 2021-05-19
    • 2017-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多