导入mp3时“找不到模块”错误
2021-04-08
2322
我在 NextJS 应用中使用 useSound,我想播放位于 /public/static 中的 mp3:
import notification from "../../public/static/notification.mp3"
运行
yarn dev
时可以正常工作(声音正在播放,没有错误),但在使用
yarn prod
构建时会引发错误:
Type error: Cannot find module '../../public/static/notification.mp3' or its corresponding type declarations.
有人可以帮我吗?我一直在互联网/SO/github 上查找,并尝试了几件事,包括修改
next.config.js
:
webpack(config, { isServer }) {
config.module.rules.push({
test: /\.(ogg|mp3|wav|mpe?g)$/i,
exclude: config.exclude,
use: [
{
loader: require.resolve('url-loader'),
options: {
limit: config.inlineImageLimit,
fallback: require.resolve('file-loader'),
publicPath: `${config.assetPrefix}/_next/static/`,
outputPath: `${isServer ? '../' : ''}static/`,
name: '[name]-[hash].[ext]',
esModule: config.esModule || false,
},
},
],
});
return config;
},
没有成功..
1个回答
好的,显然就这么简单:使用
declare module '*.mp3' {
const src: string;
export default src;
}
更新
next-env.d.ts
如果有人可以解释它是如何工作的,那就太好了。
Binajmen
2021-04-08