安裝 css
cnpm i babel-core@6.26.3 babel-loader@7.0.0 babel-plugin-transform-runtime -Dhtml
cnpm i babel-preset-env babel-preset-stage-0 -Djava
main.js 文件node
import $ from 'jquery' import './css/index.css' import './css/index.scss' // 若是要經過路徑的形式,去引入node_modules中相關的文件,能夠直接省略路徑前面的node_modules這一層目錄 //直接寫包的名稱,而後後面跟上具體的文件路徑。 import 'bootstrap/dist/css/bootstrap.css' // class關鍵字,是ES6中提供的新語法,是用來實現ES6中面向對象編程的方式 // java c# 實現面向對象的方式徹底同樣,class是從後端語言中借鑑過來的 class Person{ // 使用static關鍵字,能夠定義靜態屬性 // 所謂的靜態屬性,就是能夠直接經過類名直接訪問的屬性。 // 實例屬性:只能經過類的實例來訪問的屬性叫實例屬性 static info = { name : 'li' , age : 20} } // 訪問Person類身上的info靜態屬性。 console.log(Person.info) // 在webpack中。默認只能處理一部分ES6的新語法,一些更高級的ES6語法處理不了。須要藉助第三方的loader // 把高級語法轉爲低級的語法後會把結果交給webpack打包的bundle.js // 經過 Babel,能夠將高級語法轉換爲低級語法 // 1, 在webpack中能夠運行以下兩套命令,安裝兩套包,去安裝Babel相關的loader功能 // 1.1, 第一套包 cnpm i babel-core babel-loader babel-plugin-transform-runtime -D // 1.2, 第二套包 cnpm i babel-preset-env babel-preset-stage-0 -D // 2. 打開webpack的配置文件,在module節點下的rules數組中,添加一個新的匹配規則 // 2.1 { test:/\.js$/,use:'babel-loader',exclude:/node_modules/ } // 2.2 在配置babel的loader規則的時候,必須把node_modules目錄經過exclude選項排除掉。 // 3, 在項目的根目錄中,新建一個叫作 .babelrc 的Babel配置文件,這個文件屬於json格式,因此在寫 // babel必須遵照json語法規範,不能寫註釋 // 3.1 在 .babelrc 寫以下配置 // { // "presets" : ["env","stage-0"], //presets語法的意思 // "plugins" : ["transform-runtime"] // } var p1 = new Person()
webpack.config.js 文件jquery
const path = require('path'); const htmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { entry : path.join(__dirname,'./src/main.js'), output : { path : path.join(__dirname,'./dist'), filename : 'bundle.js' }, plugins : [ new htmlWebpackPlugin({ template : path.join(__dirname,'./src/index.html'), filename : 'index.html' }) ], module : { rules : [ {test:/\.css$/,use:['style-loader','css-loader']}, {test:/\.scss$/,use:['style-loader','css-loader','sass-loader']}, // 處理圖片路徑的loader. loader能夠傳參跟url傳參同樣 // limit給定的值是圖片的大小,單位是byte,若是引用的圖片大於或等於給定的limit值,則不會 // 被轉爲base64格式的字符串,若是圖片小於給定的limit值,則會被轉爲base64格式的字符串。 // [hash:8]-在每一個圖片前加8位的哈希值.從32位哈希值取前8位。配置最大32 {test:/\.(jpg|png|gif|bmp|jpeg)$/,use:'url-loader?limit=1000&name=[hash:8]-[name].[ext]'}, {test:/\.(ttf|eot|svg|woff|woff2)$/,use:'url-loader'},//這是處理字體文件的配置 {test:/\.js$/,use:'babel-loader',exclude:/node_modules/} //配置babel來轉換es6語法 ] } }
運行項目 後報錯。版本不對, npm view babel-loader versions查看全部 版本號webpack
這裏要求若是使用babel-core版本爲6.x , 那就必須得要使用7.x的babel-loader。卸載從新指定版本安裝便可。es6