首页 文章

如何翻译成typescript:require('module') . globalbacks.s.shush(process.env.NODE_MODULES_PATH);

提问于
浏览
0

我使用vue ui创建了一个带有打字稿的vue项目,然后我添加了电子,iview和更少...

我只纠正了* .ts文件中的词法问题,但是当我在vue ui中运行vue-cli-service服务任务时,我得到以下输出:

Total task duration: 1191.84s
$ vue-cli-service serve --mode development --dashboard
 INFO  Starting development server...

Starting type checking and linting service...

 12% building modules 23/53 modules 30 active ...ode_modules/core-js/modules/_perform.jsUsing 1 worker with 2048MB memory limit

 85% chunk order optimization OccurrenceOrderChunkIdsPlugin ERROR  Failed to compile with 1 errors11:31:30 PM


 error  in ./src/iview-variables.less

Module build failed (from ./node_modules/less-loader/dist/cjs.js):


// https://github.com/ant-design/ant-motion/issues/44
.bezierEasingMixin();
^
Inline JavaScript is not enabled. Is it set in your options?
  in /Users/ailete619/landema_electron/node_modules/iview/src/styles/color/bezierEasing.less (line 110, column 0)

 @ ./src/iview-variables.less 4:14-226 14:3-18:5 15:22-234
 @ ./src/plugins/iview.js
 @ ./src/main.ts
 @ multi (webpack)-dev-server/client?http://192.168.179.4:8080/sockjs-node (webpack)/hot/dev-server.js ./src/main.ts

Type checking and linting in progress...

 WARN
Couldn't parse bundle asset  "/Users/ailete619/landema_electron/dist/about.js".
Analyzer will use module sizes from stats file.


WARNING in /Users/ailete619/landema_electron/src/background.ts
13:3 require statement not part of an import statement
    11 | if (isDevelopment) {
    12 |   // Don't load any native (external) modules until the following line is run:
  > 13 |   require('module').globalPaths.push(process.env.NODE_MODULES_PATH);
       |   ^
    14 | }
    15 | // global reference to mainWindow (necessary to prevent window from being garbage collected)
    16 | let mainWindow: any;    
No type errors found
Version: typescript 3.0.3, tslint 5.11.0
Time: 3084ms

我试图修改以下几行,但我真的不明白它们的用途,所以我得到了不同的错误,但没有解决方案:

if (isDevelopment) {
  // Don't load any native (external) modules until the following line is run:
  require('module').globalPaths.push(process.env.NODE_MODULES_PATH)
}

My question: 如何更改该行以使用打字稿?

PS:对于模块构建失败的错误,我正在研究它,如果有必要会问另一个问题......

已安装的插件:

  • @ vue / cli-service 3.01版

  • @ vue / cli-plugin-babel 3.0.1版

  • @ vue / cli-plugin-pwa 3.0.1版

  • @ vue / cli-plugin-typescript version 3.0.1

  • vue-cli-plugin-electron-builder版本1.0.0-rc2

  • vue-cli-plugin-iview 1.0.6版

主要依赖:

  • iview 3.1.0版

  • register-service-worker 1.5.2版

  • vue版本2.5.17

  • vue-class-component version6.2.0

  • vue-property-decorator版本7.0.0

  • vue-router版本3.0.1

  • vuex版本3.0.1

  • 电子版2.0.8

  • less version 3.8.1

  • less-loader版本4.0.1

  • 打字稿版本3.0.3

  • vue-template-compiler版本2.5.17

Proposed solution 1: 在2中打破语句会引发新错误......

ERROR in /Users/ailete619/landema_electron/src/background.ts
11:1 Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.
     9 | } from 'vue-cli-plugin-electron-builder/lib';
    10 | const isDevelopment = process.env.NODE_ENV !== 'production';
  > 11 | import module = require('module');
       | ^
    12 | if (isDevelopment) {
    13 |   // Don't load any native (external) modules until the following line is run:
    14 |   module.globalPaths.push(process.env.NODE_MODULES_PATH);
ERROR in /Users/ailete619/landema_electron/src/background.ts
14:10 Property 'globalPaths' does not exist on type 'typeof Module'.
    12 | if (isDevelopment) {
    13 |   // Don't load any native (external) modules until the following line is run:
  > 14 |   module.globalPaths.push(process.env.NODE_MODULES_PATH);
       |          ^
    15 | }
    16 | // global reference to mainWindow (necessary to prevent window from being garbage collected)
    17 | let mainWindow: any;

My solution: 我删除了它,我只剩下较少相关的错误...问题解决了?

1 回答

  • 0

    试试这个:

    import module = require('module');
    if (isDevelopment) {
      // Don't load any native (external) modules until the following line is run:
      module.globalPaths.push(process.env.NODE_MODULES_PATH)
    }
    

相关问题