亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

按照老師的寫法設置loader,打包也不報錯,但瀏覽器提示import錯誤,請問誰遇到過。

跟著視頻的安裝步驟安裝了bable打包的時候也不報錯,但在瀏覽器控制臺報錯了,請問怎么處理?

https://img1.sycdn.imooc.com//5cb97ef80001503007010266.jpg

正在回答

4 回答

module:?{
????loaders:?[
????????{
????????????test:?/\.js$/,
????????????loader:?"babel",
????????}
????]
}

檢查你的正則是否正確

0 回復 有任何疑惑可以回復我~

//?jshint?esversion:6?

const?path?=?require('path');

const?glob?=?require('glob');?//?glob.sync()返回正則路徑下所有匹配的文件

const?htmlWebpackPlugin?=?require('html-webpack-plugin');

const?{?CleanWebpackPlugin?}?=?require('clean-webpack-plugin');


//?__dirname為當前絕對路徑

//?path.resolve:會把一個路徑或者一個路徑片段的序列解析為一個絕對路徑

//?path.join:?使用平臺特定的分割符號(/或者\)把給定的path片段連接到一起,并且規范化成路徑,若任意一個路徑片段類型錯誤,會報錯

//*?*和?*一樣,可以匹配任何內容,但**不經可以匹配路徑中的某一段,而且可以匹配'a/b/c'這樣帶有'/'的內容,所以它還可以匹配子文件夾下的文件


let?DIST_PATH?=?path.resolve(__dirname,?'../dist');

let?SRC_PATH?=?path.resolve(__dirname,?'../src');


let?entryFiles?=?{};?//?入口文件

let?pluginAll?=?[];?//?存放所有的html插件

//?let?filesTest?=?path.join(SRC_PATH?+?'/../*.js');

//?console.log(filesTest);

//?[\s]表示只要出現空白就匹配

//?[\S]表示非空白就匹配

let?jsFiles?=?glob.sync(SRC_PATH?+?'/**/*.js');

console.log(jsFiles);

jsFiles.forEach((value)?=>?{

????let?subkey?=?value.match(/src\/(\S*)\.js/)[1];

????entryFiles[subkey]?=?value;

});


let?htmlFiles?=?glob.sync(SRC_PATH?+?'/**/*.html');

console.log(htmlFiles);


htmlFiles.forEach((value)?=>?{

????let?pageStr?=?value.match(/src\/(\S*)\.html/);

????let?name?=?pageStr[1];

????console.log(name);

????let?htmlConfig?=?{

????????filename:?path.join(DIST_PATH,?name?+?'[chunkhash:5].html'),

????????title:?name,

????????template:?path.join(SRC_PATH,?name?+?'.html'),

????????inject:?false,?//?script放在html里面的位置?body?head?true(默認值)?false

????????hash:?true,

????????chunks:?[name],

????????excludeChunks:?[],?//?排除的js

????????date:?new?Date(),

????????minify:?{

????????????removeComments:?true,

????????????//?collapseWhitespace:?true,?//壓縮空格

????????}

????};

????//?如果是index頁面,需要添加common.js到頁面中

????if?(name?===?'index/index')?{

????????htmlConfig.chunks?=?[name,?'app'];

????????console.log(htmlConfig.chunks);

????}

????let?htmlPlugin?=?new?htmlWebpackPlugin(htmlConfig);

????pluginAll.push(htmlPlugin);

});


pluginAll.push(new?CleanWebpackPlugin());


module.exports?=?{

????//?入口js文件

????//?entry?:?path.resolve(__dirname,'../src/index.js')?,?//方式一:打包一個js

????//?entry?:?['./src/index.js','./src/test.js'],?????????//方式二:把多個js打包在一起

????//?entry:?{????????????????????????????????????????????//方式三:把多個js分別打包成不同目錄

????//?????index:?'./src/index.js',

????//?????test:?'./src/test.js'

????//?},

????entry:?entryFiles,

????//?編譯輸出的路徑

????output:?{

????????path:?DIST_PATH,?//?本地編譯后地址

????????filename:?'[name].[chunkhash:5].js',

????????//?publicPath:?'http://cdn.com',?//?上線地址

????},

????//?模塊解析

????module:?{

????????rules:?[

????????????{

????????????????test:?/\.js$/,

????????????????exclude:?/node_modules/,

????????????????loader:?'babel-loader',

????????????????query:?{

????????????????????presets:?['@babel/preset-env']

????????????????}

????????????}

????????]

????},

????//?插件

????plugins:?pluginAll,

????//?并發服務器

????devServer:?{

????????hot:?true,?//?熱更新

????????contentBase:?DIST_PATH,

????????port:?8011,?//?服務端口

????????host:?'0.0.0.0',//?host體地址

????????historyApiFallback:?true,

????????open:?true,?//?自動打開瀏覽器

????????useLocalIp:?true,//?是否在打包的時候用自己的ip

????????proxy:?{

????????????'/api':?'http://localhost:3000'

????????},

????????https:?true

????},

????watchOptions:?{

????????poll:?1000,//?每秒檢查一次變動

????????aggregateTimeout:?500,?//?防止重復按鍵,500毫米內算按鍵一次

????????ignored:?'/node_modules/',//?不監測大型文件夾

????}

};


0 回復 有任何疑惑可以回復我~

注意版本,老師講課的時候是webpack1.3的版本。你現在安裝的webpack 應該是4.0以上了,雖然老師講的大部分內容還是挺好的。但有一些用法是改變了的。如loader的配置就改成下面這樣了。具體可以去看npm官網關于baber-loader的配置,例如如下:
module:?{
??rules:?[
????{
??????test:?/\.js$/,
??????exclude:?/(node_modules|bower_components)/,
??????use:?{
????????loader:?'babel-loader',
????????options:?{
??????????presets:?['@babel/preset-env']
????????}
??????}
????}
??]
}

0 回復 有任何疑惑可以回復我~

大哥,你的layer里面的關系比較復雜吧,包括其他,js和css的引用吧,這樣可能要在配置文件里面用style-loader和css-loader 配合處理才行吧。
但,如果你改成簡單的彈出一個文本應該沒問題的。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

按照老師的寫法設置loader,打包也不報錯,但瀏覽器提示import錯誤,請問誰遇到過。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號