- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在React
应用程序的mobX
中有装饰器问题。它可以使用.babelrc
正常工作,但是我也可以使用babel-loader
来使用webpack
。我将babel配置复制到webpack
配置,但是它不起作用。我检查了所有可以在google中找到的解决方案,但它们都引用了bebelrc
,而不是webpack
配置。我的webpack
配置:
const path = require('path');
const webpack = require('webpack');
module.exports = {
devtool: 'cheap-module-eval-source-map',
entry: [
'webpack-hot-middleware/client',
'babel-polyfill',
path.join(__dirname, '../../src/web/index')
],
output: {
path: path.join(__dirname, '../public'),
filename: 'bundle.js',
publicPath: '/'
},
module: {
rules: [
{
test: /\.json$/,
loader: 'json-loader'
},
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader',
options: {
presets: [
["@babel/preset-env", { "modules": false }],
"@babel/preset-react",
],
plugins: [
[
"@babel/plugin-proposal-decorators",
{
"legacy": true
}
],
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-syntax-import-meta",
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-json-strings",
["@babel/plugin-transform-runtime", {
"helpers": true,
"regenerator": false
}],
"@babel/plugin-proposal-function-sent",
"@babel/plugin-proposal-export-namespace-from",
"@babel/plugin-proposal-numeric-separator",
"@babel/plugin-proposal-throw-expressions",
"react-hot-loader/babel"
]
}
}
]
},
plugins: [
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('development'),
PLATFORM_ENV: JSON.stringify('web')
}
}),
new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin()
]
};
ERROR in ./src/web/stores/UIStore.js
Module build failed (from ./node_modules/babel-loader/lib/index.js):
SyntaxError: /Users/alder/Projects/_apps/service_exchange/service-exchange-app/src/web/stores/UIStore.js: Decorators transform is necessary.
babel-loader
与
plugin-proposal-decorators
不兼容
package.json
:
"scripts": {
"web-dev": "webpack-dev-server --content-base web/public/ --config web/webpack/web.dev.config.js --port 3002 --inline --hot --colors --mode development"
},
"dependencies": {
"@babel/core": "^7.0.0-rc.1",
"@babel/plugin-proposal-class-properties": "7.0.0-rc.1",
"@babel/plugin-proposal-decorators": "7.0.0-rc.1",
"@babel/plugin-proposal-export-namespace-from": "7.0.0-rc.1",
"@babel/plugin-proposal-function-sent": "7.0.0-rc.1",
"@babel/plugin-proposal-json-strings": "7.0.0-rc.1",
"@babel/plugin-proposal-numeric-separator": "7.0.0-rc.1",
"@babel/plugin-proposal-optional-chaining": "^7.0.0-rc.1",
"@babel/plugin-proposal-throw-expressions": "7.0.0-rc.1",
"@babel/plugin-syntax-dynamic-import": "7.0.0-rc.1",
"@babel/plugin-syntax-import-meta": "7.0.0-rc.1",
"@babel/plugin-transform-runtime": "^7.0.0-rc.1",
"@babel/polyfill": "7.0.0-rc.1",
"@babel/preset-env": "^7.0.0-rc.1",
"@babel/preset-react": "^7.0.0-rc.1",
"@babel/register": "7.0.0-rc.1",
"@babel/runtime": "^7.0.0-rc.1",
"@material-ui/core": "^1.5.0",
"@material-ui/icons": "^2.0.2",
"axios": "^0.18.0",
"babel-loader": "^8.0.0-beta.0",
"final-form": "^4.9.1",
"history": "^4.7.2",
"material-ui-chip-input": "^1.0.0-beta.5",
"material-ui-superselectfield": "^1.9.8",
"material-ui-time-picker": "^1.0.0",
"mobx": "^5.0.3",
"mobx-react": "^5.2.5",
"mobx-state-router": "^3.1.2",
"prop-types": "^15.6.2",
"react": "^16.4.2",
"react-dom": "^16.4.2",
"react-event-listener": "^0.5.10",
"react-final-form": "^3.6.5",
"react-hot-loader": "4.3.4",
"react-native": "0.56.0",
"react-router-dom": "^4.3.1",
"react-select": "^2.0.0",
"styled-components": "^3.4.2"
},
"devDependencies": {
"@babel/cli": "7.0.0-rc.1",
"babel-eslint": "^8.2.6",
"eslint": "^5.3.0",
"eslint-plugin-react": "^7.11.1",
"jest": "23.5.0",
"json-loader": "^0.5.7",
"mobx-logger": "^0.7.1",
"mobx-react-devtools": "^6.0.2",
"react-native-cli": "^2.0.1",
"react-native-scripts": "^1.14.0",
"react-test-renderer": "16.4.2",
"react-transform-catch-errors": "^1.0.2",
"react-transform-hmr": "^1.0.4",
"redbox-react": "^1.6.0",
"uglifyjs-webpack-plugin": "^1.3.0",
"url-loader": "^1.1.0",
"webpack": "^4.16.5",
"webpack-cli": "^3.1.0",
"webpack-dev-middleware": "^3.1.3",
"webpack-dev-server": "^3.1.5",
"webpack-hot-middleware": "^2.22.3"
}
stage-2
后,它停止工作
loader: 'babel-loader',
options: {
babelrc: true,
cacheDirectory: true
}
最佳答案
我在一个块的开头移动了decorators插件,它可以正常工作!
{
"presets": [
["@babel/preset-env", { "modules": false }],
"@babel/preset-react"
],
"plugins": [
["@babel/plugin-proposal-decorators", { "legacy": true }],
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-syntax-import-meta",
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-json-strings",
"@babel/plugin-proposal-function-sent",
"@babel/plugin-proposal-export-namespace-from",
"@babel/plugin-proposal-numeric-separator",
"@babel/plugin-proposal-throw-expressions"
],
"env": {
"development": {
"plugins": ["react-hot-loader/babel"]
}
}
}
关于webpack - Babel 7-装饰器转换不适用于babel-loader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51857423/
我有这些 ViewModel:RecordViewModel、ComponentViewModel,其中 RecordViewModel 本质上是几个 ComponentViewModel 的容器。
我正在尝试为我的 Controller 设置一个装饰器。我的目的是在我的应用程序中的所有 Controller 中引入一些常见的行为。 我已将其配置为在 Angular 1.2.x 中工作,但从 1.
我想用角上的时间戳装饰我生成的所有 JFreeCharts。 JFreeChart 框架中是否有一种方法可以在生成图表后在图像上绘制? 编辑:请注意,这些图表是在后台线程中生成并通过 servlet
在grails应用程序中,我想用自定义数据装饰每个日志。当前的需要只是在日志消息前添加当前用户名 我对如何解决此问题有一些想法: -Adding custom field to log4j patte
我有一个form-el,它只是一个容器,必须将所有子元素包装在具有特定类的div 中。我希望允许 from-el 来包装它们,而不是在每个表单元素中重复这个 div 。我可以循环所有元素并将它们包装在
我遵循以下约定来装饰 Python 类中的某些方法。我想知道是否有一些更好的方法可以做到同样的事情。我的方法看起来当然不太好;对原始成员函数的调用看起来一点也不直观。 from threading i
我的 DTO 看起来像这样 public class SomeDTO { public string last_name{ get; set; } public string ac
这可能是一个远景,但 .NET 的灵 active 一直让我惊叹不已,所以开始吧。 我正在开发一个 MVC 应用程序,它需要在一组程序集中搜索派生自公共(public)基类的类类型。 即我有几个程序集
在我正在进行的项目中,我正在按照项目负责人的要求实现开发人员通知系统。它的工作方式是,如果发生前端错误,开发团队会收到一封错误电子邮件。 但是,在我当前的实现中,我似乎有以下循环依赖: $rootSc
我需要一些关于如何取消装饰和装饰 JInternalFrame 的帮助。我的框架类是这样的: package com; import java.awt.BorderLayout; import jav
假设我们有可能需要长时间运行的任务: public class LongRunningTask { public ReturnType doSomething() { ...
我正在尝试创建一个装饰器方法,它将一些默认的生命周期方法添加到 react 组件中。我的目标是向组件中添加一些默认功能,例如,所有组件都应该能够在 componentWillMount 上执行特定操作
我正在尝试将 DBUS 的异步方法调用与 Twisted 的 Deferred 相结合,但我在调整常用的 DBUS 服务方法装饰器来执行此操作时遇到了麻烦。 要使用 DBUS 异步回调方法,您需要:
是否可以设置表格中一行的背景颜色?当条件适用时,我需要突出显示一行。效果为 ...我可以在其中指定“字体”属性。 (我需要突出显示整行)。 最佳答案 您必须子类化 qooxdoo 默认行渲染器才能做到
我正在开发一个具有不同视角的基于 Java Swing 的应用程序。对于“主菜单”视角,我不希望装饰窗口 (JFrame),而在其他视角中,我确实希望装饰窗口。换句话说,我需要动态更 retrofit
我想做一些类似下面代码所示的事情: class foo { private: std::fstream* m_stream; public: foo(std::fstream* str
我的数据源提供了一个 ObservableList ,但是对于我的 ListView,我需要一个 ObservableList . A Warning基本上只是字符串的装饰器,添加一个 boolean
我一直在纠结于装饰+接口(interface)。假设我有以下“行为”接口(interface): interface IFlyable { void Fly();} interface ISwimma
有没有人为 iOS 6 UICollectionView 实现过装饰 View ?不可能 查找有关在网络上实现装饰 View 的任何教程。基本上在我的应用程序中,我有多个部分,我只想在每个部分后面显示
我有一个简单的 Controller ,例如: function MyController($scope, $http) { ... $http.post(url).success(f
我是一名优秀的程序员,十分优秀!