我正在尝试反编译我的react/es6代码,我来自browserify.我正在努力创建一个webpack构建,因为新的babel 6版本以及大多数教程现在已经过时的事实.这适用于我的.babelrc:
{
"presets": ["react"]
}
Run Code Online (Sandbox Code Playgroud)
但是当我改变它时:
{
"presets": ["es2015", "react"]
}
Run Code Online (Sandbox Code Playgroud)
它引发了这个神秘的错误:
ERROR in ./client/App.js
Module build failed: Error: You gave us a visitor for the node type "NumericLiteral" but it's not a valid type
这是我的webpack.config.js,如果这有帮助的话:
module.exports = {
entry: "./client/App.js",
output: {
filename: "public/bundle.js"
},
resolve: {
extensions: ['', '.js', '.jsx']
},
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel'
}
]
}
};
Run Code Online (Sandbox Code Playgroud)
有什么明显的东西我不见了吗?我也交换了预设的顺序,它似乎没有什么区别.我的节点模块中有babel-core,babel-loader,babel-preset-es2015,babel-preset-react和webpack.
我有一个React组件,我一直导出到一个包文件.我已经成功地使用babelify对其进行了改造,但是,我现在想在它上面运行envify.我似乎无法弄清楚如何使用browserify运行多个转换.我认为它一定是可能的,但是我不知道我的语法是否稍微偏离,或者我是否需要编写自定义转换,或者我是否应该在package.json中指定转换.这是我的gulp文件中的代码:
var bundleComponent = function(bundler, source, component) {
//bundler is just browserify('./client/components/TVScheduleTab/render.js')
gutil.log('Bundling ' + component)
return bundler
//this throws an error
.transform(babelify, envify({
NODE_ENV: 'production'
}))
.bundle()
.on('error', function(e){
gutil.log(e);
})
.pipe(source)
.pipe(gulp.dest('output/'));
};
Run Code Online (Sandbox Code Playgroud) 我在网上搜索了很多答案,但还没有找到任何答案.
现在我在我的文件中有这个代码,我认为除了我指定的那些之外我还会处理所有路由/状态:
$urlRouterProvider.otherwise('/');
Run Code Online (Sandbox Code Playgroud)
但是,此功能仅适用于路径localhost:1337/#/stuff,但如果我输入localhost:1337/stuff,我会得到一个丑陋的内部服务器错误.
理想情况下,我想要localhost:1337/stuff或没有hashbang的任何其他URL重定向到localhost:1337/#/(我的应用程序的主页).
有关如何实现这一目标的任何想法?