鍍金池/ 問答/網(wǎng)絡安全  HTML/ webpack+babel打包提示模塊未找到Module not found

webpack+babel打包提示模塊未找到Module not found

今天剛開始用webpack就碰到麻煩了,試了很多種辦法都不行,懷疑方向找錯了……我都要哭了,懇請前輩指點,感激不盡!~
---

1.webpack導出babel-polyfill代碼的時候,提示Module not found: Error: Can't resolve xxxxx,如下:
錯誤截圖

2.demo的文件目錄:

-- dist
-- node_modules
-- .babelrc
-- package.json
-- test.js
-- webpack.config.js

3.package.json

{
  "presets": [
    "env"
  ],
  "plugins": [
    ["transform-runtime"]
  ]
}

4.package.json

{
  "devDependencies": {
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.2",
    "babel-plugin-transform-runtime": "^6.23.0",
    "babel-preset-env": "^1.6.1",
    "webpack": "^3.8.1"
  },
  "dependencies": {
    "babel-polyfill": "^6.26.0",
    "babel-runtime": "^6.26.0",
    "jquery": "^3.2.1"
  }
}

5.webpack.config.js

const path = require('path');

module.exports = {
    entry: ["babel-polyfill", "jquery", "./test.js"],//報錯,模塊未找到
    // entry: ["jquery", "./test.js"],//正常打包
    output: {
        path: path.resolve(__dirname, './dist'),
        filename: 'test_output.js',
    },
    module: {
        rules: [
            {
                test: /\.js$/,
                use: {
                    loader: 'babel-loader',
                    options: {
                        presets: ['env'],
                        plugins: ['transform-runtime'],
                    },
                },
                exclude: /node_modules/,
                include: [
                    path.resolve(__dirname, 'node_modules'),
                ],
            },
        ],
    },
    resolve: {
        extensions: ['js'],
        modules: [
            'node_modules',
            path.resolve(__dirname, 'node_modules'),
        ],
    },
    context: __dirname,
};

6.test.js

'use strict';

$(() => {

    Object.assign(window, {
        webpackTest() {
            console.count('test');
        }
    });

    window.webpackTest();
    
});

7.問題定位在路徑(和/)上,也嘗試了重新cnpm i,設置resolve.modules等方法,但折騰了一天都沒找到解決辦法。

回答
編輯回答
瘋子范

你應該在你的入口文件 test.js 添加 import 'babel-polyfill'。

2018年7月20日 23:07