webpack遇到的幾個坑
第一 React.render 報錯不是一個function 是因為1.5以上的react已經把react分成了react和reactdom兩個文件需要
npm install react --save-dev
npm install react-dom --save-dev
最后在頁面上 要引入兩個js文件
<script src="src/react.js"></script>
<script src="src/react-dom.js"></script>
第二 報錯 Cannot find module 'less'
是因為沒有安裝less包
npm install less --save-dev
第三 運行了webpack成功但是不出效果 可能是 頁面引用輸出后的文件的路徑不對查看output輸出文件路徑再查看js引入的路徑
output: {
filename: "./build/build.js",
path: __dirname
}
第四 Cannot find module 'babel-core'
npm install babel-core --save-dev
第五 Cannot find module 'gulp-webpack'
npm install gulp-webpack --save-dev
第六 didn't return a function
第七 Cannot resolve module 'url-loader'
npm install url-loader --save-dev
第八 Cannot find module 'file-loader'
npm install file-loader --save-dev
第九 'webpack-dev-server' 不是內部或外部命令村刨,也不是可運行的程序
npm install -g webpack-dev-server 沒有全局安裝webpack-dev-server這個包 這是一個獨立的包需要單獨安裝
第十 實現(xiàn)保存后自動刷新頁面 執(zhí)行 webpack-dev-server --inline
第十一 GulpUglifyError: unable to minify JavaScript
可能js文件里面代碼有錯 通過
uglify().on('error', function(e) {
console.log(e);
}
打印錯誤信息 排查
第十二 'SyntaxError: Unexpected token: punc ({)
多了個大括號 刪掉即可
第十三 允許gulp server 之前把所有任務要把所有都先執(zhí)行一遍
gulp style script image html
第十四 實現(xiàn)瀏覽器自動刷新
在每個任務后面加上 .pipe(browserSync.reload({ stream: true }))
同時 監(jiān)視所有文件變化 觸發(fā)對應的任務
```
gulp.watch('css/*.less', ['style']);
gulp.watch('js/*.js', ['script']);
gulp.watch('images/*.*', ['image']);
gulp.watch('*.html', ['html']);
```
第十五 mongodb 開啟服務報錯
Tue Nov 15 17:43:34.540 [initandlisten] exception in initAndListen: 12596 old lock file, terminating
Tue Nov 15 17:43:34.542 dbexit:
Tue Nov 15 17:43:34.543 [initandlisten] shutdown: going to close listening sockets...
Tue Nov 15 17:43:34.544 [initandlisten] shutdown: going to flush diaglog...
Tue Nov 15 17:43:34.545 [initandlisten] shutdown: going to close sockets...
Tue Nov 15 17:43:34.546 [initandlisten] shutdown: waiting for fs preallocator...
Tue Nov 15 17:43:34.553 [initandlisten] shutdown: closing all files...
Tue Nov 15 17:43:34.555 [initandlisten] closeAllFiles() finished
Tue Nov 15 17:43:34.561 dbexit: really exiting now
解決方案
找到當前數(shù)據(jù)庫對應的數(shù)據(jù)庫文件
刪除掉后綴為.lock的文件
第十六 angular模板綁定標簽數(shù)據(jù)無法顯示
解決方案
使用 $sce模塊 ['$scope', '$http', '$sce']
實用 $sce.trustAsHtml(要轉換的屬性)
通過遍歷所有數(shù)據(jù)將需要顯示的標簽數(shù)據(jù)轉換成angular能夠識別的html編碼
通過ng-bind-html= 要顯示的屬性 切記這里綁定的時候不要帶{{}} 同時要寫在標簽身上
第十七 angular.js:13236 ReferenceError: $scope is not defined
$scope 不存在
原因是沒用引入$scope模塊 或者沒有寫在回調函數(shù)的形參里面
解決方案 ["$scope", "$http", "$sce", function($scope, $http, $sce)
在function 里面加上$scope形參
第十八
angular.js:13236 Error: [ngRepeat:iexp] Expected expression in form of '_item_ in _collection_[ track by _id_]' but got ''.
問題 ng-repeat 屬性里面沒用寫值 或者不是一個集合
解決辦法 給ng-repeat里面加上 item in collection
第十九
angular 里面的ng-repeat 里面想拿到循環(huán)遍歷 的索引可以通過
{{$index}} 拿到循環(huán)遍歷的索引
第二十
angular 里面使用ajax傳入?yún)?shù)的寫 params 不是data
params:{'titleid':0}
第二十一
angular路由傳入多個參數(shù)的方式
在app.js中寫法
when(
'/online_show_list/:video_type/:factory/',
{
templateUrl: 'statics/partials/online_show_list.html',
controller: OnlineShowListController
}).
第二十二
angular路由的模板通過 ng-view屬性去渲染 需要在主頁放一個標簽加上ng-view屬性
第二十三
angular報錯 TypeError: Cannot read property '1' of null
at
原因是ng-controller="" 雙引號里面沒寫控制器名字就會提示報錯
刪除掉或者加上控制器名稱就好了
第二十四
如果引用了route.js 并且angular 和 route的包都引入了發(fā)現(xiàn)路由沒生效
可能是主頁body 沒寫ng-App="路由的APP名稱" 或者是寫錯了
第二十五
angular.js:13236 Error: [$controller:ctrlfmt] Badly formed controller string ''. Must match `__name__ as __id__` or `__name__`.
如果引用的模板ng-controller里面沒有寫內容就會報這個錯
解決方案 刪掉ng-controller 或者加上控制器名字
第二十六
angular.js:13236 Error: [ng:areq] Argument 'fn' is not a function, got Object
路由里面的控制器名稱沒有帶引號
解決方案就是把路由器使用到的控制器都帶上引號
第二十七
angular.js:13236 Error: [ng:areq] Argument 'IndexController' is not a function, got undefined
IndexController 這個控制器沒有找到
解決方案 就是路由里面的控制器名稱和js里面定義的控制器名稱是否一致
如果路由里面的控制器名稱和js里面定義的控制器名稱 已經一致了有可能是模板里面使用的控制器和他們兩個不一致
第二十八
如果請求了頁面但是數(shù)據(jù)為空 可能是參數(shù)沒有獲取到
這個 $routeParams 參數(shù)沒加 或者寫錯了
解決方案就在控制器里面加上 $routeParams 參數(shù)