Обычный «импорт» не работает с webpack и babel-loader - PullRequest
0 голосов
/ 26 января 2020

В моем main.js я импортировал некоторые другие js файлы, которые не имеют операторов экспорта.

//main.js
import './file1'            instead import styles from './file1.js'
import './file2'
//file1.js
import './styles.scss'
function showAlert(){
   alert("file1")
}
//file2.js
import Vue from 'vue'
import component1 from './component1.vue'

Vue.use(component1) 

function showAlert2(){
  alert("file2")
}

Вот конфигурация для веб-пакета, который я использовал для babel-loader

module: {
  rules: [
    {
      test: /\.m?js$/,
      exclude: /(node_modules|bower_components)/,
      use: {
        loader: 'babel-loader',
        options: {
          presets: ['@babel/preset-env'],
        }
      }
    }
  ]
}

если я использую его, как показано ниже

import a from './file1'
alert(a)

Это определение включается в выходной файл.

Версия babel

"@babel/cli": "^7.8.3",
"@babel/core": "^7.8.3",

Теперь, если я попытаюсь вызвать (или использовать его другим способом) showAlert, он не будет включен в выходные файлы. Проблема возникает только с производственной сборкой. Когда я устанавливаю конфигурацию webpack mode:development, она отлично работает с webpack-dev-server.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...