首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用r.js优化javascript文件?

如何使用r.js优化javascript文件?
EN

Stack Overflow用户
提问于 2015-06-12 02:57:21
回答 1查看 365关注 0票数 0

我有一个使用grunt和require.js的项目。我希望将所有javascript任务排除在Gruntfile之外,并使用r.js作为我的javascript。

当我执行r.js -o path/to/app.build.js时,系统就开始对整个web项目进行优化。

我只想让r.js查看我的javascript文件。Grunt可以处理sass & images.Here是我的目录结构的样子:

代码语言:javascript
复制
/src/
    resources/
        js/
            vendor/
                require.js
                jquery.min.js
            plugins/
                pluginA.js
                pluginB.js
            modules/
                moduleA.js
                moduleB.js
                moduleC.js
            config.js
            main.js

当一切完成后,我只想优化这些文件并将它们移到我的最后一个文件中。在文档中,我找到了fileExclusionRegExp,但我不确定这就是我要找的。

编辑

谢谢你@克里格!为了在经过更多的测试之后清除一些东西,我发现r.js仍然保留在我的resources目录中。我正在寻找一种将r.js 排除在node_modules目录的之外的方法& scss目录中的。我有一个繁重的任务,将处理scss的“东西”。

我正在处理一个CodeIgniter项目,所以这里是我的系统的样子。

代码语言:javascript
复制
/trunk/
    application/
    logs/
    src/ <-- all of my "source" files (un-compressed scss and js)
        node_modules/
            ....
        resources/ 
            img/
                imgA.jpg
                imgB.jpg
            js/
                _build/
                    r.js
                    app.build.js
                vendor/
                    require.js
                    jquery.min.js
                plugins/
                    pluginA.js
                    pluginB.js
                modules/
                   moduleA.js
                   moduleB.js
                   moduleC.js
                config.js
                application.js
            scss/
                application/
                    fileA.scss
                    fileB.scss
                vendor/
                    bootstrap/
                        bootstrap.scss
                        ...
                site.scss
           Gruntfile.js
           package.json
    system/
    web/ <-- This is the site root directory
        _dist/
            resources/
                css/
                    optimized.css
                fonts/
                    vendor/
                        fontA.ttf
                js/
                    optimized.js

以下是我的app.build.js的样子。

代码语言:javascript
复制
({
    'appDir': '../',
    'baseUrl': 'resources/js',
    'dir': '../../web/resources/js',
    'mainConfigFile': '../resources/js/config.js',
    'name': 'application'
})

当我运行r.js -o app.build.js时,系统将遍历resources文件夹中的每个目录。

我不想要我的php文件,或者它抓取的任何普通文件.我只想让r.js只接触javascript文件。

下面是一个屏幕截图:

这是我做错的事,我知道.我只是没能找到/弄清楚是什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-14 03:00:04

好吧,就像其他事情一样-那是我在做的事。当我在工作的时候(现在看起来很傻),我确实发现了很多类似的帖子,所以我希望这能帮助到其他人。

TL;DR:

我将r.js移到javascript目录中。这样,它只会工作,它在那个目录中是神奇的。

以下是我更新的项目结构:

代码语言:javascript
复制
/trunk/
    _src/
        assets/
            js/
                _build/
                    app.build.js
                    r.js
                modules/
                plugins/
                vendor/
                application.js
                app.config.js
            scss/
            ....

这是我的app.build.js文件:

代码语言:javascript
复制
({
    'appDir': '../',
    'baseUrl': './',
    'dir': '../../../../web/_dist',
    'mainConfigFile': '../config.js',
    'modules': [
        {
            name: 'application'
        }
    ],
    'fileExclusionRegExp': /^(?:_build|(?:r|app.build)\.js)$/
})

当构建完成后,我的_dist目录如下所示:

代码语言:javascript
复制
....
js/
    modules/
    plugins/
    vendor/
    application.js
    build.txt
    app.config.js
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30794652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档