【发布时间】:2018-09-10 20:29:58
【问题描述】:
我们正在开发一个使用 Aurelia、Aurelia CLI、jQuery 和语义 UI 的项目。
目前,我们在index.html 的头部部分包含以下几行:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.1/semantic.min.css">
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
我们有一个导航栏,其中一个元素是 Semantic UI 提供的下拉菜单:
<div id="navbar_account" class="ui dropdown item navbar text" if.bind="connector.loggedIn">
Dropdown menu
<i class="left dropdown icon"></i>
<div class="menu">
<a class="item" click.delegate="">My account</a>
<a class="item" click.delegate="">Logout</a>
</div>
</div>
为了使其可用,我们将此代码添加到相应的 js 文件中:
attached() {
$('.ui.dropdown').dropdown();
}
问题是,第一次打开网站或页面时,此代码似乎不起作用。只有当我们点击其他导航栏链接时,这个下拉菜单才会开始起作用。
感觉好像有什么东西没有按正确的顺序被激活。也许我们没有以正确的方式导入 jQuery,或者我们没有正确激活它。可能是语义 UI 的问题。
我所有尝试将 jQuery 添加为依赖项或作为 Aurelia CLI 投影仪 (aurelia.json) 的前导都没有成功。
在最近的一次试验中,我运行:
npm install jquery --save
npm install github:components/jqueryui#1.12.1 --save
添加到aurelia.json:
"prepend": [
"node_modules/jquery/dist/jquery.min.js",
"node_modules/components-jqueryui/jquery-ui.min.js",
...
添加到index.html:
<link rel="stylesheet" href="node_modules/components-jqueryui/themes/base/all.css">
通过这些步骤,我使用 au run –watch 使 Aurelia 项目不再可运行
{ Error: Cannot find module 'gulp'
at Function.Module._resolveFilename (module.js:536:15)
at Function.Module._load (module.js:466:25)
at Module.require (module.js:579:17)
at require (internal/module.js:11:18)
at Promise (D:\gitkraken\ad\aurelia\node_modules\aurelia-cli\lib\commands\gulp.js:19:20)
at new Promise (<anonymous>)
at module.exports.execute (D:\gitkraken\ad\aurelia\node_modules\aurelia-cli\lib\commands\gulp.js:18:12)
at _establishProject.then.then (D:\gitkraken\ad\aurelia\node_modules\aurelia-cli\lib\cli.js:36:24)
at <anonymous> code: 'MODULE_NOT_FOUND' }
【问题讨论】:
标签: jquery semantic-ui aurelia