Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可能需要一个将import语句导入JavaScript文件的TypeScript文件?_Javascript_Typescript_Webpack - Fatal编程技术网

是否可能需要一个将import语句导入JavaScript文件的TypeScript文件?

是否可能需要一个将import语句导入JavaScript文件的TypeScript文件?,javascript,typescript,webpack,Javascript,Typescript,Webpack,我的typescript项目中有一个webpack.config.js文件。我想导入一些模拟数据作为模板参数注入到HtmlWebpackPlugin中。问题在于模拟数据是一个包含import语句的typescript文件,当我尝试导入它时,会出现一个错误: SyntaxError:无法在模块外部使用import语句 下面是模拟数据的一个示例 import someProperty from '/path/someProperty'; import RootState from '/path/t

我的typescript项目中有一个webpack.config.js文件。我想导入一些模拟数据作为模板参数注入到HtmlWebpackPlugin中。问题在于模拟数据是一个包含import语句的typescript文件,当我尝试导入它时,会出现一个错误:

SyntaxError:无法在模块外部使用import语句
下面是模拟数据的一个示例

import someProperty from '/path/someProperty';
import RootState from '/path/types/RootState';

export const mockData: RootState = {
    someProperty
    ...
}
这是网页包文件的一个片段

const { mockData } = require('/path/mockData.ts');

...
plugins: [
     new HtmlWebpackPlugin(
        {
            inject: true,
            template: paths.appHtml,
            templateParameters: {
                mockData,
            },
            ...
        }
    )
]
...
我尝试在package.json中指定类型,但是目前将所有需要的内容转换为导入太多了


除了将webpack.config转换为typescript或将mockData转换为javascript之外,解决此问题的最佳解决方案是什么?这两个都不是我现在的选择。

使用
require
而不是
import
。编辑:在模拟数据文件中。@LuketheGeek不会把问题传播到下一个文件中,不可避免地迫使我将模拟转换为javascript吗?导入的文件也是一个typescript文件。只需将tsconfig输出设置为commonjs。无论如何,您不能将TS文件直接导入或要求导入JS。