- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个使用 es6 和 es7 代码的 Aurelia 应用程序,我正在尝试使用 babel 转译代码。我的 packages.json 文件中有以下内容
"scripts": {
"babel": "babel --stage 1 -d AureliaWeb/ ../Test/Aurelia/ --extends babelrc",
我安装了以下软件包:
"devDependencies": {
"babel-core": "^6.10.4",
"babel-plugin-syntax-decorators": "^6.8.0",
"babel-plugin-syntax-flow": "^6.8.0",
"babel-plugin-transform-es2015-modules-amd": "^6.8.0",
"babel-plugin-transform-es2015-modules-commonjs": "^6.10.3",
"babel-plugin-transform-es2015-modules-systemjs": "^6.9.0",
"babel-plugin-transform-flow-strip-types": "^6.8.0",
"babel-preset-es2015": "^6.9.0",
"babel-preset-es2015-loose": "^7.0.0",
"babel-preset-react": "^6.11.1",
"babel-preset-stage-0": "^6.5.0",
"babel-preset-stage-1": "^6.5.0",
"babel-preset-stage-2": "^6.11.0",
"babel-preset-stage-3": "^6.11.0",
"babel-register": "^6.9.0",
"chai": "^3.5.0"
},
"dependencies": {
"babel-plugin-transform-class-properties": "^6.10.2",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-preset-es2015-loose": "^7.0.0",
"core-js": "^2.4.0",
"lodash": "^4.13.1"
}
我正在尝试转译 es7 代码,如下所示:
import {inject, noView} from 'aurelia-framework';
import {HttpClient} from 'aurelia-http-client';
@noView() <-- THIS IS CAUSING THE ERROR!!
@inject(HttpClient)
export class CompanyDataManager {
我收到错误语法错误类装饰器@noView周围的意外标记。我已经检查了第 1 阶段预设,我知道类装饰器已被删除 http://babeljs.io/docs/plugins/preset-stage-1/
因此,我添加了遗留装饰器“babel-plugin-transform-decorators-legacy 在这里找到”https://github.com/loganfsmyth/babel-plugin-transform-decorators-legacy
所以我的 .babelrc (位于我项目的根目录)看起来像这样:
{
"presets": [ "es2015-loose", "stage-1" ],
"plugins": [
"syntax-decorators",
"syntax-flow",
"babel-plugin-transform-decorators-legacy",
"transform-class-properties",
"transform-flow-strip-types"
]
}
但是我还是找不到快乐!问题是
我还尝试在 babel 命令中指定一个插件,如下所示:
“babel --plugins babel-plugin-transform-decorators-legacy --stage 1 -d AureliaWeb/../Test/Aurelia/”
仍然没有运气,任何帮助将不胜感激。
更新1
在搞乱了 .bablerc 文件之后,我想我可能把它放在了错误的位置。我的结构如下(它是一个mvc应用程序)。
将 .bablerc 文件移至 Test > Aurelia 后,我开始收到以下错误
在“C:\Code\src\Test\Aurelia\.babelrc”0处指定的未知插件“transform-decorators-legacy”,尝试相对于“C:\Code\src\Test\Aurelia”进行解析
我尝试在两个项目中安装transform-decorators-legacy的包,看看它是否有任何区别
更新2
我现在可以确认这确实是问题所在,看来 babel 文件需要放置在源文件夹中,而不是目标文件夹或执行 babel 的位置。
最佳答案
我相信你只需要删除括号:
@noView
@inject(HttpClient)
export class CompanyDataManager {
例如,参见 point 2 under "Best Effort" :
class Example {
@dec
static prop = i++;
}
______
注意:当你在 .babelrc
(或 package.json
)中声明 babel 插件时,你可以删除前缀 babel-plugin-
:
[
"syntax-decorators",
"syntax-flow",
"transform-decorators-legacy",
"transform-class-properties",
"transform-flow-strip-types"
]
______
How can i confirm that my babelrc file is being picked up when im executing the babel script
Babel 在调用它的目录中查找带有 "babel"
属性的 .babelrc
或 package.json
。只要你有其中任何一个并且在同一目录中执行 Babel,Babel 就会找到它。
关于ecmascript-6 - Babel 转译 es7 类装饰器出现意外的标记错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38128002/
我正在为我的 React 项目设置 Webpack,并对 babel 感到困惑, babel-core , babel-loader , babel-preset-2015和babel-preset-
所有这些 babel 依赖项是什么?它们各自的用途是什么,它们有何不同?我应该为我的 nodejs 网络应用程序使用哪一个? 我已经查看了 API 网站,但是否有任何指南可以将这些内容转化为简单的人类
我的 Node Webpack 项目使用了三个 babel 库。它们之间有什么区别以及如何使用它们? "dependencies": { "babel-runtime": "^5.8.24" }
我用 @babel/core 替换了 babel-core 而 babel-loader 期望 babel-core: { "name": "myproject-ui", "version":
我尝试配置一个环境来使用 babel 和 webpack 开发 javascript。 但是我不明白关于presets的babel配置. 在 Usage Guide ,我们可以看到预设为 "@babe
我已经安装了 babel 7.5,理想情况下它应该以 preset-env 包为目标,但不确定它为什么要寻找“babel-preset-es2015”。 你们能告诉我我做错了什么吗?下面是我的代码 p
我正在更新a boilerplate中使用的babel包,从 babel-core、babel-register 等到@babel/core、@babel/register > 等 问题:在 npm
设置 通天塔 6 (^6.0.0), Node 5.4.0,Express 4.13.x, babel-node 和 babel-register 都有警告,禁止在生产环境中使用babel.io 网站
我正在尝试转换编译我的 react/es6 代码并且来自 browserify。由于新的 babel 6 版本以及大多数教程现在已经过时的事实,我正在努力创建一个 webpack 构建。这适用于我的
我有一个使用 Typescript 和 @babel/preset-env 的项目。与 Webpack 捆绑失败并显示此错误和以下配置。 如果我取消注释该行,这会强制 @babel/plugin-pr
我在浏览器中使用 babel -> babel-standalone 现在我想使用 ES decorator 语法。但是所有的通天塔doc intro 是服务器端的 babel,比如 ` { "p
我正在编写对从 cdnjs.com 引入的所有这些库的 react 。但是,我发现它报告错误:'Uncaught TypeError: Cannot read property 'keys' of u
我正在使用 babel v7.6.x 并设置了以下内容。 包.json "scripts": { "dev": "nodemon --exec babel-node bin/index.js
我正在学习巨大的 JavaScript 生态系统,但我无法理解以下内容。 Babel 是一个编译器,来自官网: Babel is a toolchain that is mainly used to
在我使用yarn add -D babel-plugin-react-relay安装relay-query插件后,并在运行开发服务器后,我收到此错误: Error: [BABEL] /Users/ne
我使用 babel 6 和 React 插件,并按照文档说明设置转译过程。我已经阅读过要让 React 工作,我需要使用 es2015 和 React preset。最初,使用这两个预设一切都运行良好
我对 Babel 选项/配置有点迷失。我想使用最新的 js 功能并编译(使用 webpack)为浏览器代码。 babel-polyfill 和有什么区别和 babel plugins与 babel-p
这个问题在这里已经有了答案: Babel file is copied without being transformed (10 个答案) 关闭 6 年前。 我只是使用 npm (npm inst
安装时 npm install browserify babelify babel-preset-es2015 我正面临以下警告信息 npm WARN deprecated babel-preset-
什么版本的标准? 12.0.1 什么操作系统、Node.js 和 npm 版本? 视窗 10, 节点 v10.15.1, NPM v.6.8.0 你期望会发生什么? 我在 devDependencie
我是一名优秀的程序员,十分优秀!