參考鏈接https://segmentfault.com/a/1190000006178770css
一.環境html
1.node.js v8.4.0 node
2.新建項目及文件夾結構react
webpack-hello3webpack
app //項目程序文件夾web
images //圖片文件夾npm
index.tmpl.html //項目啓動界面模板,依據該模板生成正真的項目啓動頁面index.htmljson
main.js //項目的惟一入口程序,也是啓動程序segmentfault
build //存放編譯(打包)後的文件夾瀏覽器
3. npm init //在改文件夾下運行 (生成一個包管理文件package.json)
4. npm install --save-dev webpack //安裝webpack
5.package.json文件中配置命令
{
}
npm的start
命令是一個特殊的腳本名稱,其特殊性表如今,在命令行中使用npm start
就能夠執行其對於的命令,若是對應的此腳本名稱不是start
,想要在命令行中運行時,須要這樣用npm run {script name}
如npm run build
其中 打包和編譯的區別,打包是安裝打包配置把js進行打包輸出,編譯是安裝編譯配置把ts等代碼文件編譯成.js文件,或對代碼進行壓縮,優化等。
二.配置文件及運行本地服務
1.在webpack-hello3文件夾根目錄下新建webpack.config.js文件
2.編輯配置文件
/* * 這樣配置全部的js文件都會打包在一個bundle.js文件中 * 此時 index.html引用 * <script src="bundle.js"></script> entry:__dirname+"/app/main.js", //程序惟一入口文件, output:{ path:__dirname+"/public",//打包後文件存放的地方 filename:"bundle.js"//打包後輸出文件的文件名 }, */ /* * 要把各js文件分多個文件打包時,須要這樣配置 * 此時 index.html引用 * <script src="main.js"></script> * <script src="gr.js"></script> */ entry:{ main:__dirname+"/app/main.js", //main 表示程序惟一入口文件 gr:[__dirname+"/app/Greeter.js"] //這個能夠把多個js文件合併成一個gr.js }, output:{ path:__dirname+"/public",//打包後文件存放的地方 filename:"[name].js" //這樣會分別生成main.js和 gr.js 兩個文件 },
// npm一次性安裝多個依賴模塊,模塊之間用空格隔開 ,
//babel-core babel核心包,babel-preset-env 解析Es6,babel-preset-react解析React的JSX
1.安裝babel
npm install --save-dev babel-core babel-loader babel-preset-env babel-preset-react
2.配置babel
css-loader
使你可以使用相似
@import
和
url(...)
的方法實現
require()
的功能
style-loader
將全部的計算後的樣式加入頁面中,兩者組合在一塊兒使你可以把樣式表嵌入webpack打包後的JS文件中。
{
test: /\.css$/, use: [ { loader: "style-loader" }, { loader: "css-loader", options: { modules: true } } ] }
引用形式