我正在使用TypeScript构建Aurelia应用程序并决定尝试语义UI。我遵循了这个问题(Aurelia Semantic dropdown),它帮助我将Semantic安装到了Aurelia。似乎已经安装了已经使用默认主题构建。有没有办法可以在Aurelia TypeScript应用程序中安装语义,然后根据我自己的theme.config添加一些自定义gulp任务来构建?我还想覆盖一些变量,如颜色,字体大小等。在构建之后,我想在Aurelia视图模型(TypeScript)和我的视图中使用构建版本。我怎样才能做到这一点?
答案 0 :(得分:0)
以下是我解决这个问题的方法:
npm
node_modules
和jspm_packages
)的级别semantic.json
我指定了要包含在我的应用中的组件列表semantic.json
我修改了"输出"和"清洁"路径以匹配我提供文件的文件夹。 semantic.json
:
{
"base": "semantic",
"paths": {
"source": {
"config": "src/theme.config",
"definitions": "src/definitions/",
"site": "src/site/",
"themes": "src/themes/"
},
"output": {
"packaged": "../dist/semantic",
"uncompressed": "../dist/semantic/components/",
"compressed": "../dist/semantic/components/",
"themes": "../dist/semantic/themes/"
},
"clean": "../dist/semantic"
},
"permission": false,
"autoInstall": false,
"rtl": false,
"version": "2.2.4",
"components": [
"button",
...
"site"
]
}
build/tasks/build.js
:
var buildSemantic = require('../../semantic/tasks/build');
gulp.task('build-semantic', buildSemantic);
...
gulp.task('build-layout', function (callback) {
return runSequence(
'build-html',
'build-semantic',
'build-less',
callback
);
});
semantic\src\themes\default\globals\site.variables
)并修改其中的内容gulp build-layout
dist
文件夹中,我可以在我的观看中使用它至于视图模型,我创建了一些辅助组件,用作aurelia属性,例如语义工具提示:
import {customAttribute, inject} from 'aurelia-framework';
import * as $ from 'jquery';
import '../semantic/semantic.min.js';
@customAttribute('semantic-tooltip')
@inject(Element)
export class SemanticTooltip {
constructor(private element: HTMLElement) {
}
attached() {
$(this.element).popup();
}
}
用法:
<i class="info circle icon" data-content="Sample tooltip" semantic-tooltip></i>