Импортировать все компоненты vue js в один файл - PullRequest
0 голосов
/ 22 апреля 2019

Я хочу импортировать несколько компонентов Vuejs в устаревший проект.

В настоящее время я включил следующий скрипт в заголовок моего сайта:

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js">

и файл компонента (я хотел бы разделить каждый компонент в отдельном файле)

<script type="module" src="comp1.js"></script>
<script type="module" src="comp2.js"></script>

Это работает, но я хочу иметь один файл JS , который будет импортировать все другие компоненты, чтобы я мог указать на него в своем HTML-файле на один файл JS.

Есть идеи?

1 Ответ

0 голосов
/ 22 апреля 2019

Создайте папку для вашего упаковщика - например, frontend-dev.

$ cd frontend-dev
$ npm init

добавьте следующие зависимости

"devDependencies": {
    "@babel/core": "^7.2.2",
    "@babel/preset-env": "^7.3.1",
    "babel-loader": "^8.0.5",
    "webpack": "^4.29.3",
    "webpack-cli": "^3.2.3"
  }
$ npm install

Создайте webpack.config.js со следующими минимальными настройками:

let path = require('path');

module.exports = {

  output: {
      path: p('../public'), // where to create bundles files
      publicPath: '/public/', // public path to the created files
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader",
          options: {
            presets: ['@babel/preset-env']
          }
        }
      },
    ]
  },
};

/**
 * Path.resolve alias curried with current directory (__dirname)
 * as first parameter
 */
function p(){
  return path.resolve(__dirname, ...arguments)
}

В frontend-dev создайте в нем папку src и index.js:

// index.js
import '../../comp1.js'
import '../../comp2.js'

Добавьте команду "build": "webpack" в разделе сценариев в package.json и выполните npm run build чтобы увидеть ваш файл bundled.js в указанном общедоступном каталоге.

Вы можете использовать require.context для импорта всех файлов в каталоге, см. документы webpack .

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