1.先将npm的源改为淘宝,使用如下命令
npm install -g cnpm --registry=https://registry.npm.taobao.org
2.接下来安装引用包的方法为
cnmp install [name] -g //全局安装
cnpm install [name] //本地安装,即是只安装到当前目录的环境
3.建立webpack的配置文件
1.webpack.config.js
//_dirname是node.js中的一个全局变量,它指向当前执行脚本所在的目录
module.exports = {
/*
使用eval打包源文件模块,在同一个文件中生成干净的完整的source map。这个选项可以在不影响构建速度的前提下生成完整的sourcemap,但是对打包后输出的JS文件的执行具有性能和安全的隐患。不过在开发阶段这是一个非常好的选项,但是在生产阶段一定不要用这个选项
*/
devtool:"eval-source-map",
entry:__dirname+"/src/pages/app.js",//唯一的入口文件,
//输出目录
output:{
path:__dirname+"/build",
filename:"bundle.js"
},
module:{
//loader加载器
loaders:[
{
test: /\.(js|jsx)$/,//一个匹配loaders所处理的文件的拓展名的正则表达式,这里用来匹配js和jsx文件(必须)
exclude: /node_modules/,//屏蔽不需要处理的文件(文件夹)(可选)
loader: 'babel-loader'//loader的名称(必须)
},
{
test: /\.less$/,
loader: 'style-loader!css-loader!postcss-loader!less-loader',
},
{
test: /\.css/,
loader: 'style-loader!css-loader',
},
{
test: /\.(png|jpg)$/,
loader: 'url-loader?limit=8192',
}
]
},
//webpack-dev-server
devServer:
{
/*默认webpack-dev-server会为根文件夹提供本地服务器,如果想为另外一个目录下的文件提供本地服务器,应该在这里设置其所在目录(本例设置到"build"目录)*/
contentBase:'./build',
/*在开发单页应用时非常有用,它依赖于HTML5 history API,如果设置为true,所有的跳转将指向index.html*/
historyApiFallback:true,
//源文件改变时自动刷新页面
inline:true,
port:8088,
}
};
$ npm i webpack webpack-dev-server --save-dev
$ npm i react react-dom react-router redux react-redux redux-thunk --save
// 首先需要安装 babel
$ npm i babel-core --save-dev
// 安装插件
$ npm i babel-preset-es2015 babel-preset-react --save-dev
// 安装 loader
$ npm i babel-loader --save-dev
3.建立主入口文件
app.js
import React from 'react';
import ReactDom from 'react-dom';
import Component from '../component/Component.jsx';
ReactDom.render(
<Component/>,document.getElementById('content')
);
component.js
import React from 'react';
import './index.css';
class Component extends React.Component
{
render()
{
return (
<div className="content-color">hello chens shi tao</div>
)
}
}
export default Component;
最后建议一个index.html引用生产的bundle.js即可
在package.json中修改script 改成
"scripts": {
"start":"webpack",
"dev":"webpack-dev-server"
},
然后执行命令
npm run dev 便可在浏览器内输入地址预览