我怎么能通过脚本标签执行/_next/static/xxx.js
How could I execute /_next/static/xxx.js by script tag
我已经自定义 next.config (webpack) 来构建静态 js 文件 (.next/static/loader.js
)。
原来loader.js
是一个IIFE:
(function stickerLoader(){
alert('Hello');
// ... some source code
}())
它的用法是这样的:
<script type="text/javascript" src="/_next/static/loader.js"></script>
但是,上面的代码不会立即执行,因为它被编译为:
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["static/loader.js"],{
/***/ "./components/Sticker/loader.js":
/*!**************************************!*\
!*** ./components/Sticker/loader.js ***!
\**************************************/
/*! no static exports found */
/***/ (function(module, exports) {
(function stickerLoader() {
alert('Hello');
// ... some minified source code
})();
/***/ })
},[["./components/Sticker/loader.js","static/runtime/webpack.js"]]]);
Next.js是否有任何设置可以删除WEBPACK WRAPPER
,只留下我的源代码,所以我的预期结果是:
(function stickerLoader() {
alert('Hello');
// ... some minified source code
})();
我的next.config.js
:
module.exports = {
webpack(config, options) {
return merge(config, {
entry() {
return config.entry().then(entry => {
return Object.assign({}, entry, {
'static/loader.js': path.resolve(
__dirname,
'components',
'Sticker',
'loader.js'
)
});
});
}
});
};
};
如果你想要它没有任何 webpack 的东西,为什么要将它添加到 webpack 构建中?
如果这是一个简单的 js 文件,请将其作为常规静态 js 文件放在 public/
(或 static/
v9.0.5 及以下版本)文件夹中。
我已经自定义 next.config (webpack) 来构建静态 js 文件 (.next/static/loader.js
)。
原来loader.js
是一个IIFE:
(function stickerLoader(){
alert('Hello');
// ... some source code
}())
它的用法是这样的:
<script type="text/javascript" src="/_next/static/loader.js"></script>
但是,上面的代码不会立即执行,因为它被编译为:
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["static/loader.js"],{
/***/ "./components/Sticker/loader.js":
/*!**************************************!*\
!*** ./components/Sticker/loader.js ***!
\**************************************/
/*! no static exports found */
/***/ (function(module, exports) {
(function stickerLoader() {
alert('Hello');
// ... some minified source code
})();
/***/ })
},[["./components/Sticker/loader.js","static/runtime/webpack.js"]]]);
Next.js是否有任何设置可以删除WEBPACK WRAPPER
,只留下我的源代码,所以我的预期结果是:
(function stickerLoader() {
alert('Hello');
// ... some minified source code
})();
我的next.config.js
:
module.exports = {
webpack(config, options) {
return merge(config, {
entry() {
return config.entry().then(entry => {
return Object.assign({}, entry, {
'static/loader.js': path.resolve(
__dirname,
'components',
'Sticker',
'loader.js'
)
});
});
}
});
};
};
如果你想要它没有任何 webpack 的东西,为什么要将它添加到 webpack 构建中?
如果这是一个简单的 js 文件,请将其作为常规静态 js 文件放在 public/
(或 static/
v9.0.5 及以下版本)文件夹中。