我正在使用requireJS来加载React组件,但是我收到了错误" Uncaught SyntaxError:Unexpected token<"因为该文件的脚本类型是" text / javascript"而不是" text / babel"。为了解决这个问题,我尝试按照requireJS docs和explained in this question的说明设置scriptType,但是我无法使其工作或找到如何使其工作的好例子。 / p>
requireConfig.js:
requirejs.config({
baseUrl: 'scripts/',
paths:
{
jquery: 'jquery-1.9.0',
react: 'libs/build/react',
reactdom: 'libs/build/react-dom',
browser: '//cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.min',
inputWindow: 'inputWindow/inputWindow'
},
scriptType: {
'inputWindow': "text/babel"
}
});
define(function (require) {
var InputWindow = require('inputWindow');
InputWindow.initialize();
});
inputWindow.js:
define(function(require){
var React = require('react');
var ReactDOM = require('reactdom');
var InputWindow = React.createClass({
render: function(){
return(<div>
{this.props.message}
</div>)
}
});
function initialize(){
ReactDOM.render(<InputWindow message="Hello World!"/>, document.getElementById('inputWindowDiv'))
}
return {
initialize: initialize,
}
})
当我使用
部分配置requireConfig.js时scriptType:{
'inputWindow':'text/babel'
}
然后将文件inputWindow.js加载到带有标记
的index.html中type="[Object Object]"
直到requireJS超时。
screen capture of inputWindow.js loaded with type=[Object Object]
答案 0 :(得分:0)
而不是
scriptType: {
'inputWindow': "text/babel"
}
试
scriptType: 'text/babel'
它应该工作。现在你正在尝试对一个对象进行字符串化,所以难怪它不起作用。 ;)