我正在使用 grunt 来自动化整个过程。这是我的配置的样子:
browserify: {
dist: {
files: {
'<%= dirs.dest %>/index.js': [
'<%= dirs.src %>/index.js'
]
},
options: {
transform: [
['babelify', { presets: ['es2015', 'stage-3', 'react'] }]
]
},
}
},
尝试解析导入的反应组件之一时失败,并显示以下错误:
>> <div>
>> ^
>> ParseError: Unexpected token
Warning: Error running grunt-browserify. Use --force to continue.
Aborted due to warnings.
我尝试使用在浏览器中使用 babel-standalone 引发错误的相同文件,它工作得很好。
我很难解决这个问题,因为大多数链接都说使用 babel-preset-react 应该可以修复它(并且它适用于我拥有的另一个项目)
默认情况下,browserify 不会转换项目之外的包含文件。由于导致问题的组件是从 包含的node_modules
,我必须配置它的package.json
文件以确保browserify知道它的源没有被转换,并且它必须在被包含时转换它。
我能够通过将它包含在我的node_modules
组件中来做到这一点package.json
:
"browserify": { "transform": [ "babelify" ] }
一旦我添加了这个并确保组件从模块中导出,一切都开始按预期工作。
参考:https : //github.com/babel/babel/issues/1625#issuecomment-105334250
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句