在 Oracle JET 应用程序中使用 RequireJS 添加第三方工具或库。
步骤:
1.如果使用工具框架脚手架,需要一下操作。
a.使用 npm 安装你需要的库。
npm install my-library --save
b.在 script/grunt/config 目录中,在 oraclejet-build.js 中找到 copyCustomLibsToStaging 更新代码。
把注释去掉。并更改:
copyCustomLibsToStaging: {
fileList: [
{cwd:'node_modules/my-library/',
src: ['*'],
dest: 'web/js/libs/my-library' }
]
},
c.在 src/js 目录中,在 main-release-paths.json 文件中添加新的库。使用 min 版本。当构建发行时会使用此文件。
{
"knockout": "libs/knockout/knockout-x.x.x",
"jquery": "libs/jquery/jquery-x.x.x.min",
... contents omitted
"my-library": "libs/my-library/my-library.min"
}
2.如果没有使用工具框架构建,直接在 js/libs 目录中添加新的库和附带文件。
3.执行完上一步后,使用 RequierJS ,在 main.js 中 requirejs.config 中添加路径,如需要使用则在 require 中定义。
requirejs.config({
// 添加新的库的路径
paths:
{
'knockout': 'libs/knockout/knockout-3.4.0',
'jquery': 'libs/jquery/jquery-3.1.0.min',
... contents omitted
'text': 'libs/require/text',
'my-library': 'libs/my-library/my-library
},
// 若不是AMD模块,则在这里添加新的库需要的内容
shim: {
'jquery': {
exports: ['jQuery', '$']
}
},
require(['ojs/ojcore', 'knockout', 'jquery', 'my-library'],
function(oj, ko, $) // 回调函数,在所有模块加载后执行
{
// 这里添加使用代码
}
);