ENOENT 在尝试使用 requirejs 加载 ForerunnerDB 时没有这样的文件或目录

ENOENT no such file or directory when trying to load ForerunnerDB with requirejs

你好我正在使用yo ko一个knockout yeoman generator in my application. The application has been scaffold with requirejs and gulp, but I am having trouble adding ForerunnerDB到require.config进行分发, 这是 require.config.js:

//require.js looks for the following global when initializing
var require = {
    baseUrl: ".",
    paths: {
        "bootstrap":            "bower_modules/components-bootstrap/js/bootstrap.min",
        "crossroads":           "bower_modules/crossroads/dist/crossroads.min",
        "hasher":               "bower_modules/hasher/dist/js/hasher.min",
        "jquery":               "bower_modules/jquery/dist/jquery",
        "knockout":             "bower_modules/knockout/dist/knockout",
        "knockout-projections": "bower_modules/knockout-projections/dist/knockout-projections",
        "signals":              "bower_modules/js-signals/dist/signals.min",
        "text":                 "bower_modules/requirejs-text/text",
        'forerunner': 'bower_modules/forerunnerdb/js/dist/fdb-all.min'
    },
    shim: {
        "bootstrap": { deps: ["jquery"] }
    }
};

我将 gulpfile.jsgulp:serve:dist 一起使用,但我得到

[Error: Error: ENOENT: no such file or directory, open 'c:...\temp\core.js'

In module tree: app/startup forerunner at Error (native)

但是当我使用 gulp serve:src 时一切正常。 我已经尝试在 shim 中添加 core.js 依赖项,但无法使其工作。总少一个文件.

这里是 github repo

当你尝试使用 shim 时,你确定你写的是正确的吗?

var require = {
    baseUrl: ".",
    paths: {
        "corejs":                 "bower_modules/...",
        'forerunner': 'bower_modules/forerunnerdb/js/dist/fdb-all.min'
    },
    shim: {
        "corejs": { deps: ["forerunner"] }
    }
};

出于某种原因,requirejs 在此配置中感到不安,因此解决它的方法是将 ForerunnerDB 作为单独的脚本添加到您的 index.html 中,删除您 require.config.js 中对 ForerunnerDB 的所有依赖引用然后修改您的 gulp 默认任务以连接 ForerunnerDB 的 js/dists 文件夹中与 fdb-all.min.js 文件生成的 scripts.js 文件。

我已经更新了 github 存储库,其中包含您必须进行的如上所述的更改。你可以在这里看到它们:https://github.com/jeanPokou/project_beta/commits/master