gpt4 book ai didi

javascript - Grunt require 未能按预期创建多个模块

转载 作者:数据小太阳 更新时间:2023-10-29 05:35:07 24 4
gpt4 key购买 nike

我的结构如下:

  • 应用程序
    • 脚本
      • 图书馆
        • jquery.js
        • bootstrap.js
        • moment.js
      • 应用程序.js
      • vendor.js
      • common.js
      • app.config.js
      • main.js #需要配置

请注意,vendor.js 只是一个包含 libs 下所有文件的文件。例如

//vendor.js
define(['jquery','bootstrap', 'moment'], function(){});

只是列出依赖项:

  • app.js 依赖common.jsapp.config.js
  • common.js 依赖vendor.js
  • app.config.js 依赖moment.js

我想做的是运行 grunt requirejs 命令来创建一个 vendor.js 文件,其中包含 libs/ 下的所有文件和一个 app。 js 以及未包含在 vendor.js 中的其余文件。

这是我的 requirejs 选项的样子:

module.exports = function (grunt) {
'use strict';
var config = {
dist: {
options: {
appDir: 'app/',
baseUrl: './scripts',
mainConfigFile: 'app/scripts/main.js',
dir: 'dist/scripts/',
modules: [
{ name: 'vendor'},
{ name: 'app', exclude: ['vendor'] }
]
}
}
};
grunt.config('requirejs', config);
};

我从上面运行得到的是以下 build.txt

scripts/vendor.js
----------------
scripts/libs/jquery.js
scripts/libs/bootstrap.js
scripts/libs/moment.js
scripts/app.js
scripts/vendor.js
scripts/common.js
scripts/app.config.js

scripts/app.js
----------------

如您所见,所有文件都只是附加到 vendor.js 而不是 app.js。我希望 vendor.js 包含 vendor.js 及其依赖项。和 app.js 包括其余部分,因为 vendor 被排除在外。

我已经尝试了很多组合,但仍然不行。

最佳答案

找到问题了!问题出在我的 require 配置文件中,该文件提供给 grunt requirejs 任务。 require 配置文件有 deps: ['app'] 代码,在尝试拆分成模块时会发生冲突,因为一旦 require 配置被提供给 grunt requirejs 任务,它就会认为应用程序是必需的依赖关系,这意味着应用程序及其所有文件都被标记为依赖关系,因此包含在列出的第一个模块文件中。

关于javascript - Grunt require 未能按预期创建多个模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41904081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com