javascript - 使用 requirejs 优化时排除 .svn 文件夹

标签 javascript svn optimization requirejs r.js

我正在尝试使用 r.js 优化一个项目,源代码保存在 subversion 中。我收到以下错误:

> node r.js -o generic-profile.js
> Error: Error: EPERM, operation not permitted 'C:\xxx\GUI\generic\.svn\entries'
                at Object.fs.unlinkSync (fs.js:760:18)

我认为问题在于 r.js 正在尝试将 .svn 目录从源文件夹复制到构建文件夹。

有没有办法在运行 r.js 时排除 .svn 目录?例如,我可以在我的构建配置文件中添加一些东西吗?

这是我的构建配置文件当前的样子:

({
    "appDir": "../src/generic/",
    "baseUrl": ".",
    "dir": "../generic/",
    "include": ["../vendor/require",
                "../vendor/text",
                "../vendor/i18n"],
    "optimize": "uglify2",
    "modules": [
        {
            name: "app"
        }
    ],
    "mainConfigFile": "generic-config.js"
})

更新

自从阅读 Louis 的出色回答后,很明显这不是颠覆的问题,而是构建配置文件配置不当。我进一步阅读了如何设置构建配置文件,以及 this example帮了大忙。

如果您遇到类似的问题,这可能会有所帮助。

最佳答案

默认情况下,r.js 已经从处理以句点开头的目录中排除。设置为 fileExclusionRegExp,默认值为 /^\./,因此将跳过 .svn。 (查看 r.js 的代码,我看到 fileExclusionRegExp 与每个文件的基本名称相匹配。)

您看到的错误与您的输入目录一致,与您的输出一致。您没有将 keepBuildDir 设置为 true,因此您的输出目录将被删除。更改您的 dir 以在其他地方构建。

或者您将输出置于版本控制之下。将 keepBuildDir 设置为 true 可以解决眼前的问题,但如果对 r.js 的输出执行转换,可能会在以后产生更多问题>.

关于javascript - 使用 requirejs 优化时排除 .svn 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20683471/

相关文章:

.net - AutoDeploy SQL 随 TeamCity 进行更改(Redgate 的替代方案?)

optimization - 循环函数花费的时间太长

javascript - 单击没有要素的 map 时隐藏弹出窗口

javascript - 按下 Enter 键时用 JavaScript 触发按钮单击

java - 在 Netbeans 中编译 Spark 需要一些帮助

python - 如何在 scipy 优化(python 2.7)中定义变量之间的相互依赖关系?

mysql - 选择什么数据库,使用 rails。大数据库

javascript - 从 XML DOM 对象中获取完整的 XML 源

C# 版本的 Javascript Date.getTime()

linux - svn 提交后 Hook 没有在工作副本目录中创建文件的权限