Отдельная дополнительная JS связка с NuxtJS - PullRequest
0 голосов
/ 10 марта 2020

Я хотел бы создать модуль Nuxt JS, который генерирует и связывает собственный скрипт и помещает его в static/my-script.js.

Моя текущая структура папок выглядит следующим образом:

- modules/
  - my-module/
     - index.js
     - plugin.js
     - my-script.js
- nuxt.config.js (contains buildModules: ['~/modules/my-module'])

Я хотел бы собрать и собрать my-script.js в виде отдельного отдельного пакета JS, расположенного в /static/my-script.js.

Единственное, что я смог сделать до сих пор, это использовать addTemplate, но это не приведет к созданию файла в его собственном пакете:

this.nuxt.hook('build:before', async () => {
  this.addTemplate({
    src: resolve(__dirname, 'my-script.js'),
    fileName: resolve(this.options.srcDir, this.options.dir.static || 'static', 'my-script.js'),
    ssr: false,
  })
})

Я также попытался добавить пользовательскую конфигурацию веб-пакета, но, похоже, она полностью игнорируется (по крайней мере, в режиме dev):

this.nuxt.hook('webpack:config', async webpackConfigs => {
  const clientConfig = webpackConfigs.find(config => config.name === 'client')
  webpackConfigs.push({
    name: 'my-script',
    entry: resolve(__dirname, 'my-script.js'),
    output: {
      path: resolve(this.options.srcDir, this.options.dir.static || 'static'),
      filename: 'my-script.js',
    },
    resolve: clientConfig.resolve,
    resolveLoader: clientConfig.resolveLoader,
  })
})

Я хотел бы иметь возможность использовать как addTemplate, так и compile / bundle, чтобы иметь возможность вставлять опции в шаблон перед его сборкой.

...