使用`import`语句从带有webpack的打字稿中导入原始文件

卢克·天行者

我需要使用webpack从打字稿中导入原始数据。这是我的设置:

$ tree
.
+-- file.txt
+-- main.ts
+-- package.json
+-- tsconfig.json
+-- webpack.config.js

file.txt

file-content

main.js

import file from './file.txt';

console.log(file);

package.json

{
  "devDependencies": {
    "raw-loader": "^0.5.1",
    "ts-loader": "^3.1.1",
    "typescript": "^2.6.1",
    "webpack": "^3.8.1"
  }
}

tsconfig.json

{
  "compilerOptions": {
    "outDir": "./dist/",
    "sourceMap": true,
    "noImplicitAny": true,
    "module": "commonjs",
    "target": "es5",
    "baseUrl": "app"
  },
  "exclude": [
    "node_modules"
  ]
}

webpack.config.js

const path = require('path');

const config = {
  entry: './main.ts',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'app.js'
  },
  module: {
    rules: [
      { test: /\.txt$/, use: 'raw-loader' },
      { test: /\.tsx?$/, loader: 'ts-loader' },
    ]
  }
};

module.exports = config;

当我运行weback时,它说找不到模块:

ERROR in ./main.ts
[tsl] ERROR in /tmp/test/main.ts(1,18)
      TS2307: Cannot find module './file.txt'.

我的问题是:如何将txt数据导入打字稿文件?例如,在编写角度组件并导入html模板以将其分配给该组件的template属性时,这很有用。

凯珀·维斯祖克(Kacper Wiszczuk)

所以我终于让它工作了。我在.d.ts文件中添加了模块声明:

declare module '*.txt' {
  const content: any;
  export default content;
}

然后只有我这样导入.txt文件:

const someTextContent = require('./some.txt');

您可以在这里找到更多有关此的信息

编辑:

如果要使用import关键字,请按以下方式使用它:

import * as someTextContent from './some.txt';

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在打字稿中导入 JSON 文件

如何在打字稿文件中导入没有定义文件的js库

带有打字稿的 Cucumber-JS 步骤定义中的“错误:无法在模块外使用 import 语句”

使用电子在预加载脚本中导入打字稿文件

如何在打字稿中导入js文件?

如何使用打字稿在Web-Worker中导入库

使用import语句禁止在Python中导入

正确的步骤/语法,将库导入带有名称空间的打字稿文件中

在打字稿中导入json文件会导致有效json出现“意外令牌”错误

在带有标题的Matlab中导入文件

正确使用带有打字稿的黄瓜?

在打字稿中导入html模板

在打字稿中导入SVG图像

如何在打字稿中使用带有es6导入语法的节点模块

带有类的打字稿导入依赖项

使用Webpack错误构建的带有Babylonjs的打字稿:重复的标识符“ BABYLON”

带有打字稿的Webpack找不到输入模块

HTML:使用带有导入语句的外部 .js 文件

打字稿-将库导入所有文件

打字稿:如何在node_modules中导入和添加嵌套文件的类型?

在打字稿文件中导入“ dom-autoscroller”会产生“找不到模块”

在 Google Firebase 函数打字稿项目中导入非 JS 文件

在svelte文件中导出打字稿类型

打字稿,Requirejs,导入语句和别名

在打字稿中导入库的不同方式有什么区别?

如何使用 Forever 运行带有打字稿文件的 NodeJS Express API?

如何使用打字稿文件导入/导出类型定义

将打字稿文件导入角度打字稿文件

参考错误:使用打字稿时在引导程序切换中导入 jQuery