webpack external react 时只能使用其全局变量或相对路径怎么办?

我想把react作为externallib从bundle里面分离出来,但是require好像不起作用呢,在配置里起得名字也不好使。只能使用文件的相对路径来require或者干脆不require就行了。可是我想使用cmd模式用require来把它引入怎么办?
//配置如下
varwebpack=require('webpack');
varpath=require('path');
varconfig={
entry:[
path.resolve(__dirname,'scripts/main.js')
],
output:{
path:path.resolve(__dirname,'build'),
libraryTarget:"umd",
library:'',
filename:'bundle.js'
},
externals:[
//第一种写法
{"../build/react.min.js":'React'}
//第二种写法,这货怎么用的有木有大神教一下--!
{"../build/react.min.js":{
root:'ReactJS',
commonjs:["./ReactJS","ReactJS"],
}}
],
module:{
loaders:[{
exclude:"scripts/react.min.js",
test:/\.js$/,
loaders:['babel']
}]
}
};
//js如下
'usestrict';
//第一种配置,下面这句话写不写都不会报错。
varReact=require('../build/react.min.js');
console.log('main'+1+2);
varMain=React.createClass({
getInitialState:function(){
return{
switch:true
};
},
_toggle(){
this.setState({
switch:!this.state.switch
});
},
render(){
return(
);
}
});
React.render(
,document.body);
慕森卡
浏览 352回答 2
2回答

茅侃侃

//webpack.config.jsmodule.exports={externals:{'react':'React'},//...}externals对象的key是给require时用的,比如require('react'),对象的value表示的是如何在global(即window)中访问到该对象,这里是window.React。同理jquery的话就可以这样写:'jquery':'jQuery',那么require('jquery')即可。HTML中注意引入顺序即可:

肥皂起泡泡

我是这样写的javascript//webpack.config.jsmodule.exports={externals:{'react':'window.React'},//...}//main.jsvarReact=require('react');//home.html
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript