Я хотел бы создать модуль 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, чтобы иметь возможность вставлять опции в шаблон перед его сборкой.