我目前正在尝试在 requirejs 优化器配置中创建单独的模块,目前看起来像: 基于模块的设置(无法跳过 facebook 路径):
({
baseUrl: '../static/js',
mainConfigFile: '../static/js/main.js',
dir: '../static/js/deploy',
paths:{
requireLib: 'vendor/require/require.min',
_core: 'minify_modules/_core',
search: 'minify_modules/_search'
},
modules:[
{
name: 'main',
include: ['requireLib', '_core']
},
{
name: 'search',
include:['search']
}
]
})
在我的一个 requirejs 模块中,我需要 facebook SDK。当我运行优化器时,优化器无法跳过目录并报告:
错误:JavaException:java.io.FileNotFoundException:/connect.facebook.net/en_US/all.js(没有这样的文件或目录)
最初我使用非模块方法并且只有一个输出文件。当我运行该设置时,它会跳过 Facebook SDK 等外部资源,所以我显然有点困惑,为什么下面的设置会跳过目录,而上面的基于模块的设置不会。
非基于模块的设置(跳过 facebook 路径)
({
baseUrl: '../static/js',
mainConfigFile: '../static/js/main.js',
name: 'main',
out: '../static/js/yb-scripts.min.js',
paths: {
requireLib: 'vendor/require/require.min',
_core: 'minify_modules/_core'
},
include: ['requireLib', '_core']
})
Facebook SDK 在 main.js 配置文件中被引用:
facebookSDK: '//connect.facebook.net/en_US/all',
我一直在尝试遵循此处的优化器说明:LINK