Javascript RequireJs精简-复杂目录结构

Javascript RequireJs精简-复杂目录结构,javascript,requirejs,minify,Javascript,Requirejs,Minify,我们在工作中遇到了一个问题,我们正在使用require js,但我们的文件夹结构有点不同, 我们有以下几点: --js folder --Folder ---some base js files -Folder ---main --src ---require.js --- require JS modules --plugin js files

我们在工作中遇到了一个问题,我们正在使用require js,但我们的文件夹结构有点不同, 我们有以下几点:

--js folder 
   --Folder
      ---some base js files
    -Folder 
       ---main
            --src
                ---require.js 
                --- require JS modules
         --plugin js files
         --more js files
我们希望将所有这些JS文件缩小为一个单独的JS文件,以便进行生产

---js folder
    --min-all.js 
这可能吗? 如果是,怎么办。。 任何帮助都将不胜感激

谢谢


我只是想澄清一下,其他文件夹包含标准的非模块化javascript文件,它们可以是插件或简单的javascript助手的组合。

简短的回答是:是的,RequireJS可以做到这一点

基本上,您将需要创建一个JS文件,该文件需要您想要缩小的所有资源。然后,您将优化器指向该文件,它将把它们混合在一起

require(["one", "../another/two", "folder/three", "folder/inner/four" ... ]);
如果该文件被称为
myfile.js
,那么您将使用以下类似参数运行优化器:

node r.js -o name=myfile out=optimized.js
如果有不希望包含在最终优化文件中的库或其他文件,可以使用
excludeshalf
标志。e、 g

node r.js -o name=myfile out=optimized.js excludeShallow=jquery.min

还有更多选项,如果您还没有,您应该查看它们的文件。

因此myfile.js将包含所有的内容,它是否还需要包含不在src/下的文件。。?与外部库、插件等一样?IIRC优化器会遍历依赖链,因此,制作此处建议的“引导程序”应该会将其全部引入。感谢您的快速回复,在其他工作中,data main属性下的文件将成为myfile.js?如果您想在优化版本中包含外部库,你会把他们包括在那里。否则,您将使用
excludeshalf
标志。暂时更新我的答案…不,不是真的。您不需要
引用,因为您没有在HTML页面上加载
myfile.js
。您正在将该文件作为输入提供给优化器。使用优化器时没有涉及HTML页面,因此没有
标记。