.bind在升级到新的Aurelia网页包插件后不再工作
我正在尝试更新使用webpack的Aurelia项目,以便我可以.bind在升级到新的Aurelia网页包插件后不再工作,aurelia,Aurelia,我正在尝试更新使用webpack的Aurelia项目,以便我可以在模板中要求.scss文件。我已经看过了,并随后提出了我的webpack.config,如下所示。我还包括了我的package.json文件 我现在可以加载样式,但遇到了一个令人困惑的问题。我的bind语句都不再有效了。代码本身没有更改,在尝试此更新之前运行良好。我试着使用双向的、单向的等等,但都不起作用。@bindable属性始终是未定义的 <my-custom-element value.bind="something"&
在模板中要求.scss
文件。我已经看过了,并随后提出了我的webpack.config
,如下所示。我还包括了我的package.json
文件
我现在可以加载样式,但遇到了一个令人困惑的问题。我的bind
语句都不再有效了。代码本身没有更改,在尝试此更新之前运行良好。我试着使用双向的、单向的等等,但都不起作用。@bindable
属性始终是未定义的
<my-custom-element value.bind="something"></my-custom-element>
package.json
nav-bar.html
我将导入babel polyfill
添加到main.js
,将.babelrc
更改为引用`.babelrc.js后,它开始工作,如下所示:
{
"presets": [ "./.babelrc.js" ]
}
我还包括了骨架导航项目中的.babelrc.js
.lrc.js
//默认情况下将使用此文件babel@7一旦发布
module.exports={
“插件”:[
“转换装饰程序遗产”,
“转换类属性”
],
“预设”:[
[
“环境”{
“目标”:process.env.BABEL_TARGET==='node'{
“节点”:process.env.IN_量角器?'6':“当前”
} : {
“浏览器”:[
“最后两个版本”,
“不是ie,控制台中是否有任何错误消息?您能显示自定义元素的代码吗?控制台中没有错误消息。我从一个自定义元素添加了代码,但这个问题正在全面发生。此外,此代码在升级之前起作用。如果看不到真正的代码,很难判断发生了什么。哟你的代码似乎很好。我会尝试在你的app.js文件中查找错误
"dependencies": {
"aurelia-animator-css": "^1.0.0",
"aurelia-application-insights": "^1.0.0",
"aurelia-binding": "^1.2.0",
"aurelia-bootstrapper": "^2.1.1",
"aurelia-chart": "^0.2.6",
"aurelia-configuration": "1.0.17",
"aurelia-dependency-injection": "^1.3.1",
"aurelia-dialog": "^1.0.0-beta.3.0.0",
"aurelia-event-aggregator": "^1.0.1",
"aurelia-fetch-client": "^1.1.2",
"aurelia-framework": "^1.1.0",
"aurelia-history": "^1.0.0",
"aurelia-history-browser": "^1.0.0",
"aurelia-logging": "^1.3.1",
"aurelia-logging-console": "^1.0.0",
"aurelia-metadata": "^1.0.3",
"aurelia-notify": "^0.8.1",
"aurelia-pal": "^1.3.0",
"aurelia-pal-browser": "^1.1.0",
"aurelia-path": "^1.0.0",
"aurelia-route-recognizer": "^1.0.0",
"aurelia-router": "^1.3.0",
"aurelia-task-queue": "^1.2.0",
"aurelia-templating": "^1.3.0",
"aurelia-templating-binding": "^1.3.0",
"aurelia-templating-resources": "^1.3.1",
"aurelia-templating-router": "^1.1.0",
"aurelia-validation": "^1.0.0",
"bluebird": "^3.3.5",
"json-loader": "^0.5.4",
... //omitted for clarity
},
"devDependencies": {
"aurelia-loader-nodejs": "^1.0.1",
"aurelia-pal-nodejs": "^1.0.0-beta.1.0.0",
"aurelia-tools": "^1.0.0",
"aurelia-webpack-plugin": "^2.0.0-rc.2",
"autoprefixer": "^7.0.0",
"babel-core": "^6.17.0",
"babel-eslint": "^7.2.3",
"babel-loader": "^7.0.0",
"babel-plugin-istanbul": "^4.1.3",
"babel-plugin-lodash": "^3.2.10",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-decorators": "^6.24.1",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-polyfill": "^6.16.0",
"babel-preset-env": "^1.5.1",
"babel-preset-es2015": "^6.24.1",
"babel-preset-stage-1": "^6.24.1",
"babel-register": "^6.11.6",
"concurrently": "^2.2.0",
"copy-webpack-plugin": "^4.0.1",
"cross-env": "^3.1.3",
"css-loader": "^0.28.1",
"eslint": "^3.12.2",
"extract-text-webpack-plugin": "^2.1.0",
"file-loader": "^0.9.0",
"html-server": "^0.1.1",
"html-webpack-plugin": "^2.22.0",
"json-loader": "^0.5.4",
"node-sass": "^3.13.0",
"optimize-css-assets-webpack-plugin": "^1.3.2",
"package": "^1.0.1",
"postcss-loader": "^1.3.3",
"raw-loader": "^0.5.1",
"rimraf": "^2.5.2",
"sass-loader": "^4.0.2",
"style-loader": "^0.17.0",
"url-loader": "^0.5.8",
"webpack": "^2.6.1",
"webpack-dashboard": "^0.2.0",
"webpack-dev-server": "^2.4.5"
}
<template>
<require from='./_nav-bar.scss'></require>
<section class="nav-bar nav-bar__group" data-grid="full">
<div data-grid="full">
<main-menu router.bind="router" data-grid="21"></main-menu>
<user-panel data-grid="3"></user-panel>
</div>
</section>
</template>
<template class="main-menu">
<ul class="main-menu__nav-list">
<li repeat.for="row of router.navigation">
<a href.bind="row.href"
data-appinsights-category="navigation"
data-appinsights-action="${row.title}"
data-text="${row.title}">
${row.title}
</a>
</li>
</ul>
</template>
import { bindable, inject } from 'aurelia-framework';
@inject(Element)
export class MainMenuCustomElement {
//This value is always undefined now
@bindable router;
constructor(element) {
this.element = element;
}
toggleMenu() {
//removed for brevity
}
}
{
"presets": [ "./.babelrc.js" ]
}
// this file will be used by default by babel@7 once it is released
module.exports = {
"plugins": [
"transform-decorators-legacy",
"transform-class-properties"
],
"presets": [
[
"env", {
"targets": process.env.BABEL_TARGET === 'node' ? {
"node": process.env.IN_PROTRACTOR ? '6' : 'current'
} : {
"browsers": [
"last 2 versions",
"not ie <= 11"
],
"uglify": process.env.NODE_ENV === 'production',
},
"loose": true,
"modules": process.env.BABEL_TARGET === 'node' ? 'commonjs' : false,
"useBuiltIns": true
}
]
]
}