【问题标题】:Can't minify ionic project无法缩小离子项目
【发布时间】:2018-03-13 23:33:09
【问题描述】:

我尝试cordova-uglify (link) 在运行后缩小 Ionic1 项目

ionic cordova build --release

我在app-release-unsigned.apk..的www文件夹中看到我的js源代码根本没有缩小。

ionic info 打印:

[WARN] Error with .\www\lib\ionic\version.json file: FILE_NOT_FOUND, trying
       .\bower.json.

cli packages: (C:\Program Files\nodejs\node_modules)

    @ionic/cli-utils  : 1.19.1
    ionic (Ionic CLI) : 3.19.1

global packages:

    cordova (Cordova CLI) : 8.0.0
    Gulp CLI              : not installed globally

local packages:

    Cordova Platforms : android 7.0.0 ios 4.5.4
    Ionic Framework   : ionic1 1.3.4

System:

    Android SDK Tools : 26.0.1
    Node              : v8.9.4
    npm               : 5.6.0
    OS                : Windows 7

编辑:我注意到当我运行 ionic cordova build --release 时出现这些错误:

An error ocurred while reading directories:
 Error: ENOENT: no such file or directory, scandir 'C:\nodejs\myproject\platforms\android\assets\www\js'
An error ocurred while reading directories:
 Error: ENOENT: no such file or directory, scandir 'C:\nodejs\myproject\platforms\android\assets\www\css'
An error ocurred while reading directories:
 Error: ENOENT: no such file or directory, scandir 'C:\nodejs\myproject\platforms\android\assets\www\img'
Running command: "C:\Program Files\nodejs\node.exe" C:\nodejs\myproject\hooks\after_prepare\uglify.js C:\nodejs\myproject

processFiles err: Error: ENOENT: no such file or directory, scandir 'C:\nodejs\myproject\platforms\android\assets\www\js'
processFiles err: Error: ENOENT: no such file or directory, scandir 'C:\nodejs\myproject\platforms\android\assets\www\css'
processFiles err: Error: ENOENT: no such file or directory, scandir 'C:\nodejs\myproject\platforms\android\assets\www\img'
processFiles err: Error: ENOENT: no such file or directory, scandir 'C:\nodejs\myproject\platforms\android\assets\www\build'

我没有.\platforms\android\assets\www 文件夹

@Antonis 这些是我尝试过的步骤:

  • 我删除了 node_modules 并重新安装了npm install
  • 我试过npm rebuild node-sass --force
  • 删除并重新添加android平台ionic cordova build --release
  • 仍然收到错误ENOENT: no such file or directory, scandir C:\nodejs\myproject\platforms\android\assets\www\js [...]

如何生成 assets 文件夹? 我看到.\platforms\android\app\src\main\assets 中有一个 assets 文件夹,但模块 ionic-minify 搜索 .\platforms\android\assets

【问题讨论】:

  • 尝试删除你的 node_modules 并再次运行 npm install。如果它不起作用,请尝试:npm rebuild node-sass
  • @Antonis 我用你的建议编辑了这个问题
  • 运行命令时是否在项目文件夹的根目录下?
  • 是的,我在根目录

标签: cordova ionic-framework


【解决方案1】:

我注意到我在 platforms\android\app\src\main\assets 中有一个 assets 文件夹,所以我编辑了 .\hooks\after_prepare\uglify.js 和 .\hooks\after_prepare\010_add_platform_class.js 匹配该路径。现在好像可以了。

【讨论】:

    【解决方案2】:

    请为您的 ionic 项目尝试这个缩小节点模块。

    https://github.com/Jiansen/ionic-minify
    

    【讨论】:

    • 我看到ionic-minify.js已经在hooks\after_prepare创建了,但是还是不行,代码没有缩小。
    【解决方案3】:

    你只需要修改hooks/uglify-config.json。默认情况下,有一个条目显示:

    "foldersToProcess": [
        "platforms/browser/www"
    ],
    

    改为空字符串:

    "foldersToProcess": [
        ""
    ],
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 1970-01-01
      相关资源
      最近更新 更多