Javascript TypeScript项目中非模块JS的网页包包
我有一个项目,我需要捆绑2个非模块JS文件。不幸的是,这些文件不能很容易地制作成一个模块,因为它们也在其他地方使用。 对于这些问题,有一种“脚本加载器”形式的解决方案,但需要在js文件中使用import语句。 我现在最大的问题是.ts条目文件不知道“脚本加载器”并尝试加载这些文件,然后抱怨它们没有该“模块”的声明文件 这是我的配置:Javascript TypeScript项目中非模块JS的网页包包,javascript,typescript,webpack,Javascript,Typescript,Webpack,我有一个项目,我需要捆绑2个非模块JS文件。不幸的是,这些文件不能很容易地制作成一个模块,因为它们也在其他地方使用。 对于这些问题,有一种“脚本加载器”形式的解决方案,但需要在js文件中使用import语句。 我现在最大的问题是.ts条目文件不知道“脚本加载器”并尝试加载这些文件,然后抱怨它们没有该“模块”的声明文件 这是我的配置: module: { rules: [ { test: /\.\/bower_components\/something\/foo
module: {
rules: [
{
test: /\.\/bower_components\/something\/foo\.js$/,
use: [ 'script-loader' ]
},
{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/
},
]
这就是我如何定义两个文件的导入:
import exec from '../bower_components/something/foo.js';
import exec2 from '../bower_components/someotherthing/bar.js';
消除打字脚本错误的两个方法:
- 用
抑制它们/@ts ignore
- 将导入放在JavaScript文件而不是TypeScript文件中,以便TypeScript编译器不会查看它们
手动导入。好的,我们现在就是这样做的,但我更喜欢的最终结果是我们可以部署一个文件,而不是3个